|
virtual const char * | GetClassName () |
|
virtual int | IsA (const char *type) |
|
void | PrintSelf (ostream &os, vtkIndent indent) override |
|
void | RemoveAllVolumeArrayNames () |
| Remove all volume array names. More...
|
|
void | RemoveDoubleVolumeArrayNames () |
| Remove double-type volume array names. More...
|
|
void | RemoveFloatVolumeArrayNames () |
| Remove float-type volume array names. More...
|
|
void | RemoveUnsignedCharVolumeArrayNames () |
| Remove unsigned char-type volume array names. More...
|
|
void | AddDoubleVolumeArrayName (char *arayName) |
| Add a double-type volume array name to the selection list. More...
|
|
void | AddFloatVolumeArrayName (char *arayName) |
| Add a float-type volume array name to the selection list. More...
|
|
void | AddUnsignedCharVolumeArrayName (char *arayName) |
| Add an unsigned char-type volume array name to the selection list. More...
|
|
void | AddVolumeArrayName (char *arayName) |
| Add a volume array (of any type) name to the selection list. More...
|
|
|
virtual void | SetVolumeFractionSurfaceValue (double) |
| Set / get the volume fraction value [0, 1] used for extracting fragments. More...
|
|
virtual double | GetVolumeFractionSurfaceValue () |
| Set / get the volume fraction value [0, 1] used for extracting fragments. More...
|
|
vtkMultiBlockDataSetAlgorithm * | NewInstance () const |
|
vtkMultiBlockDataSet * | GetOutput () |
|
vtkMultiBlockDataSet * | GetOutput (int) |
|
void | SetInputData (vtkDataObject *) |
|
void | SetInputData (int, vtkDataObject *) |
|
virtual int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
|
vtkMultiBlockDataSet * | GetOutput () |
|
vtkMultiBlockDataSet * | GetOutput (int) |
|
void | SetInputData (vtkDataObject *) |
|
void | SetInputData (int, vtkDataObject *) |
|
virtual int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
|
vtkAlgorithm * | NewInstance () const |
|
int | HasExecutive () |
|
vtkExecutive * | GetExecutive () |
|
virtual void | SetExecutive (vtkExecutive *executive) |
|
virtual int | ModifyRequest (vtkInformation *request, int when) |
|
vtkInformation * | GetInputPortInformation (int port) |
|
vtkInformation * | GetOutputPortInformation (int port) |
|
int | GetNumberOfInputPorts () |
|
int | GetNumberOfOutputPorts () |
|
void | UpdateProgress (double amount) |
|
vtkInformation * | GetInputArrayInformation (int idx) |
|
void | RemoveAllInputs () |
|
vtkDataObject * | GetOutputDataObject (int port) |
|
virtual void | RemoveInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | RemoveInputConnection (int port, int idx) |
|
virtual void | RemoveAllInputConnections (int port) |
|
int | GetNumberOfInputConnections (int port) |
|
int | GetTotalNumberOfInputConnections () |
|
vtkAlgorithmOutput * | GetInputConnection (int port, int index) |
|
vtkAlgorithm * | GetInputAlgorithm (int port, int index, int &algPort) |
|
vtkAlgorithm * | GetInputAlgorithm (int port, int index) |
|
vtkExecutive * | GetInputExecutive (int port, int index) |
|
vtkInformation * | GetInputInformation (int port, int index) |
|
vtkInformation * | GetOutputInformation (int port) |
|
virtual int | Update (int port, vtkInformationVector *requests) |
|
virtual int | Update (vtkInformation *requests) |
|
virtual int | UpdateExtent (const int extents[6]) |
|
virtual void | UpdateInformation () |
|
virtual void | UpdateDataObject () |
|
virtual void | PropagateUpdateExtent () |
|
virtual void | UpdateWholeExtent () |
|
void | ConvertTotalInputToPortConnection (int ind, int &port, int &conn) |
|
int | SetUpdateExtentToWholeExtent (int port) |
|
int | SetUpdateExtentToWholeExtent () |
|
void | SetUpdateExtent (int port, int extent[6]) |
|
void | SetUpdateExtent (int extent[6]) |
|
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
|
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime) |
|
virtual vtkInformation * | GetInformation () |
|
virtual void | SetInformation (vtkInformation *) |
|
void | Register (vtkObjectBase *o) VTK_OVERRIDE |
|
void | UnRegister (vtkObjectBase *o) VTK_OVERRIDE |
|
virtual void | SetAbortExecute (int) |
|
virtual int | GetAbortExecute () |
|
virtual void | AbortExecuteOn () |
|
virtual void | AbortExecuteOff () |
|
virtual void | SetProgress (double) |
|
virtual double | GetProgress () |
|
void | SetProgressText (const char *ptext) |
|
virtual char * | GetProgressText () |
|
virtual unsigned long | GetErrorCode () |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
|
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
|
vtkDataObject * | GetInputDataObject (int port, int connection) |
|
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
|
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
|
virtual void | SetInputDataObject (int port, vtkDataObject *data) |
|
virtual void | SetInputDataObject (vtkDataObject *data) |
|
virtual void | AddInputDataObject (int port, vtkDataObject *data) |
|
virtual void | AddInputDataObject (vtkDataObject *data) |
|
vtkAlgorithmOutput * | GetOutputPort (int index) |
|
vtkAlgorithmOutput * | GetOutputPort () |
|
vtkAlgorithm * | GetInputAlgorithm () |
|
vtkExecutive * | GetInputExecutive () |
|
vtkInformation * | GetInputInformation () |
|
virtual void | Update (int port) |
|
virtual void | Update () |
|
virtual int | UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=0) |
|
virtual int | UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0) |
|
virtual void | SetReleaseDataFlag (int) |
|
virtual int | GetReleaseDataFlag () |
|
void | ReleaseDataFlagOn () |
|
void | ReleaseDataFlagOff () |
|
int | UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output) |
|
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
|
void | SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel) |
|
void | SetUpdateExtent (int piece, int numPieces, int ghostLevel) |
|
int * | GetUpdateExtent () |
|
int * | GetUpdateExtent (int port) |
|
void | GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
|
void | GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
|
void | GetUpdateExtent (int extent[6]) |
|
void | GetUpdateExtent (int port, int extent[6]) |
|
int | GetUpdatePiece () |
|
int | GetUpdatePiece (int port) |
|
int | GetUpdateNumberOfPieces () |
|
int | GetUpdateNumberOfPieces (int port) |
|
int | GetUpdateGhostLevel () |
|
int | GetUpdateGhostLevel (int port) |
|
void | SetProgressObserver (vtkProgressObserver *) |
|
virtual vtkProgressObserver * | GetProgressObserver () |
|
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
|
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime) |
|
virtual vtkInformation * | GetInformation () |
|
virtual void | SetInformation (vtkInformation *) |
|
void | Register (vtkObjectBase *o) VTK_OVERRIDE |
|
void | UnRegister (vtkObjectBase *o) VTK_OVERRIDE |
|
virtual void | SetAbortExecute (int) |
|
virtual int | GetAbortExecute () |
|
virtual void | AbortExecuteOn () |
|
virtual void | AbortExecuteOff () |
|
virtual void | SetProgress (double) |
|
virtual double | GetProgress () |
|
void | SetProgressText (const char *ptext) |
|
virtual char * | GetProgressText () |
|
virtual unsigned long | GetErrorCode () |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
|
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
|
vtkDataObject * | GetInputDataObject (int port, int connection) |
|
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
|
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
|
virtual void | SetInputDataObject (int port, vtkDataObject *data) |
|
virtual void | SetInputDataObject (vtkDataObject *data) |
|
virtual void | AddInputDataObject (int port, vtkDataObject *data) |
|
virtual void | AddInputDataObject (vtkDataObject *data) |
|
vtkAlgorithmOutput * | GetOutputPort (int index) |
|
vtkAlgorithmOutput * | GetOutputPort () |
|
vtkAlgorithm * | GetInputAlgorithm () |
|
vtkExecutive * | GetInputExecutive () |
|
vtkInformation * | GetInputInformation () |
|
virtual void | Update (int port) |
|
virtual void | Update () |
|
virtual int | UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=0) |
|
virtual int | UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0) |
|
virtual void | SetReleaseDataFlag (int) |
|
virtual int | GetReleaseDataFlag () |
|
void | ReleaseDataFlagOn () |
|
void | ReleaseDataFlagOff () |
|
int | UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output) |
|
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
|
void | SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel) |
|
void | SetUpdateExtent (int piece, int numPieces, int ghostLevel) |
|
int * | GetUpdateExtent () |
|
int * | GetUpdateExtent (int port) |
|
void | GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
|
void | GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
|
void | GetUpdateExtent (int extent[6]) |
|
void | GetUpdateExtent (int port, int extent[6]) |
|
int | GetUpdatePiece () |
|
int | GetUpdatePiece (int port) |
|
int | GetUpdateNumberOfPieces () |
|
int | GetUpdateNumberOfPieces (int port) |
|
int | GetUpdateGhostLevel () |
|
int | GetUpdateGhostLevel (int port) |
|
void | SetProgressObserver (vtkProgressObserver *) |
|
virtual vtkProgressObserver * | GetProgressObserver () |
|
| vtkBaseTypeMacro (vtkObject, vtkObjectBase) |
|
virtual void | DebugOn () |
|
virtual void | DebugOff () |
|
bool | GetDebug () |
|
void | SetDebug (bool debugFlag) |
|
virtual void | Modified () |
|
virtual vtkMTimeType | GetMTime () |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
int | HasObserver (unsigned long event) |
|
int | HasObserver (const char *event) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
|
vtkCommand * | GetCommand (unsigned long tag) |
|
void | RemoveObserver (vtkCommand *) |
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
|
void | RemoveObservers (const char *event, vtkCommand *) |
|
int | HasObserver (unsigned long event, vtkCommand *) |
|
int | HasObserver (const char *event, vtkCommand *) |
|
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
|
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
int | InvokeEvent (unsigned long event, void *callData) |
|
int | InvokeEvent (const char *event, void *callData) |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
|
vtkCommand * | GetCommand (unsigned long tag) |
|
void | RemoveObserver (vtkCommand *) |
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
|
void | RemoveObservers (const char *event, vtkCommand *) |
|
int | HasObserver (unsigned long event, vtkCommand *) |
|
int | HasObserver (const char *event, vtkCommand *) |
|
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
|
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
int | InvokeEvent (unsigned long event, void *callData) |
|
int | InvokeEvent (const char *event, void *callData) |
|
const char * | GetClassName () const |
|
virtual void | Delete () |
|
virtual void | FastDelete () |
|
void | Print (ostream &os) |
|
void | SetReferenceCount (int) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
void | PrintRevisions (ostream &) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
void | PrintRevisions (ostream &) |
|
|
| vtkRectilinearGridConnectivity () |
|
| ~vtkRectilinearGridConnectivity () override |
|
vtkExecutive * | CreateDefaultExecutive () override |
|
int | FillInputPortInformation (int, vtkInformation *) override |
|
int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override |
|
int | GetNumberOfVolumeFractionArrays () |
| Get the number of selected volume fraction arrays. More...
|
|
int | GetNumberOfVolumeArrays () |
| Get the number of all volume arrays (not necessarily selected as the ones for extracting fragemnts). More...
|
|
const char * | GetVolumeFractionArrayName (int arrayIdx) |
| Get the name of a selected volume fraction array specified by arrayIdx. More...
|
|
bool | IsVolumeFractionArray (const char *arayName) |
| This function determines whether the specified name (arayName) refers to a selected volume fraction array (1) or not (0). More...
|
|
bool | IsVolumeArray (const char *arayName) |
| This function determines whether the specified name (arayName) refers to a volume array (1) or not (0). More...
|
|
int | CheckVolumeDataArrays (vtkRectilinearGrid **recGrids, int numGrids) |
| This function checks the consistency between a number (numGrids) of vtkRectilinearGrid blocks (recGrids, the original ones still with cell data attributes) in terms of the number of data attributes and specific data attribute array names. More...
|
|
void | CreateDualRectilinearGrid (vtkRectilinearGrid *rectGrid, vtkRectilinearGrid *dualGrid) |
| Given an input vtkRectilinearGrid dataset (rectGrid) with cell data attributes, this function creates a dual vtkRectilinearGrid dataset with point data attributes. More...
|
|
void | ExtractFragments (vtkRectilinearGrid **dualGrds, int numBlcks, double boundBox[6], unsigned char partIndx, vtkPolyData *polyData) |
| Given numBlcks vtkRectilinearGrid blocks with point data attributes (i.e.,the dual grid version of the original blocks with cell data attributes), the bounding box (boundBox) covering these blocks, and a selected volume fraction array specified by the material index (partIndx), this function extracts fragments based on this volume fraction array and exports the result to a vtkPolyData (polyData). More...
|
|
void | IntegrateFragmentAttributes (int fragIndx, int numComps, double *attrVals) |
| Given the raw fragment index (fragIndx) of either an original sub-volume extracted from marching cubes of a block or a macro-volume (combination of intra-process inter-block sub-volumes), the number (numComps) of all integrated components (of multiple cell data attributes), and the array (attrVals) storing the specific integrated values, this function integrates the attributes based on the fragment index, specifically by accumulating the input integration values to the target entry (specified by the fragment index) of a global integration array. More...
|
|
void | ResolveEquivalentFragments () |
| This function resolves the equivalence set (intra-process intra-block, intra-process inter-block, or inter-process), followed by the face fragment Ids and integrated fragment attributes. More...
|
|
void | ResolveFaceFragmentIds () |
| With the equivalence set (intra-process intra-block, intra-process inter- block, or inter-process) resolved in advance, this function updates each face / polygon stored in the face hash with a resolved fragment Id. More...
|
|
void | ResolveIntegratedFragmentAttributes () |
| With the equivalence set (intra-process intra-block, intra-process inter- block, or inter-process) resolved in advance, this function integrates cell data attributes based on the fragment Id. More...
|
|
void | ExtractFragmentPolyhedra (vtkRectilinearGrid *rectGrid, const char *fracName, double isoValue, vtkPolyData *plyHedra) |
|
void | InitializeFaceHash (vtkPolyData *plyHedra) |
| Given a vtkPolyData (plyHedra) storing the polygons of the greater-than- isovalue sub-volumes (or polyhedra) extracted from a data block, this function initializes the size of the face hash (with the number of points of the polyhedra) used to maintain the polygons of the polyhedra. More...
|
|
void | AddPolygonsToFaceHash (int blockIdx, vtkPolyData *plyHedra) |
| Given a data block index (blockIdx) and a vtkPolyData (plyHedra) storing the polygons of the greater-than-isovalue sub-volumes (or polyhedra) that are extracted from the block, this function pushes the polygons on a per sub-volume basis to the face hash (the sub-volume Ids are used to group polygons into sub-volumes). More...
|
|
void | ExtractFragmentPolygons (int blockIdx, int &maxFsize, vtkPolyData *plyHedra, vtkPolyData *polygons, vtkIncrementalOctreePointLocator *gPtIdGen) |
| Given the index of the data block (blockIdx), the vtkPolyData (plyHedra) storing the polygons / faces of the greater-than-isovalue sub-volumes (or polyhedra) extracted from this block via marching cubes, and a global (intra-process inter-block) point locator, the function extracts fragments from this block by initializing the face hash with the raw polygons extracted from the block (via marching cubes), pushing these polygons to the face hash on a per sub-volume basis, detecting internal faces or polygons, registering faces to the intra-process intra-block equivalence set by the intermediate fragment Id, resolving the equivalence set, updating the fragment Id of each polygon, and integrating cell data attributes based on the fragment Id, grouping / re-arranging the 'valid' faces (as opposed to those removed internal faces) in the face hash by the fragment Id (to construct macro-volumes), accessing the full version of each valid face from the original polyhedra, and attaching the fragment Id as well as other integrated cell data attributes to each cell in the output vtkPolyData data (polygons) where each point is assigned with a global (intra-process inter-block) Id (via a global point locator gPtIdGen) used for subsequent combination of fragments extracted from multiple blocks. More...
|
|
void | InitializeFaceHash (vtkPolyData **plyDatas, int numPolys) |
| Given a number (numPolys) of vtkPolyData objects (plyDatas) storing the fragments extracted from the multiple data blocks, this function inits the face hash (with the maximum global inter-block point Id: a point data attribute attached to each point of these vtkPolyData objects) that is used to combine these intermediate fragments. More...
|
|
void | AddPolygonsToFaceHash (vtkPolyData **plyDatas, int *maxFsize, int numPolys) |
| Given a number (numPolys) of vtkPolyData objects (plyDatas) storing the initial fragments (macro-volumes — combination of greater-than-isovalue sub-volumes) extracted from multiple blocks and an array of values (maxFsize) storing the maximum number of faces that a macro-volume may contain in each block (used to allocate appropriate memory for buffering the polygons of a macro-volume), this function pushes these polygons on a per macro-volume basis to the face hash (fragment Ids are used to group polygons to macro-volumes), detects internal faces / polygons, and then registers polygons to the (intra-process inter-block) equivalence set by the intermediate fragment Id. More...
|
|
void | GenerateOutputFromSingleProcess (vtkPolyData **surfaces, int numSurfs, unsigned char partIndx, vtkPolyData *polyData) |
| With the intra-process inter-block equivalence set resolved, intra-process inter-block fragment Ids resolved, and cell data attributes integrated by the fragment Id, this function retrieves the face hash for the 'valid' faces (as opposed to those removed internal faces), accesses their full version from the vtkPolyData objects ('surfaces') that store the polygons of intermediate fragments extracted from multiple ('numSurfs') data blocks, and exports these complete yet 'valid' polygons to the output vtkPolyData ('polyData') while attaching the index of the material (partIndx, i.e. More...
|
|
void | CreateInterProcessPolygons (vtkPolyData *fragPoly, vtkPolyData *procPoly, vtkIncrementalOctreePointLocator *gPtIdGen, int &maxFsize) |
| Given the vtkPolyData (fragPoly) storing the fragments extracted from a single process (assigned with either one block or multiple blocks), this function groups / re-arranges the polygons by the (intra-process inter- block) fragment Id, determines the maximum number (maxFsize) of polygons (belonging to a fragment) with the same fragment Id, and exports the re- arranged polygons with the associated fragment Ids and all integrated cell data attributes to the output inter-process vtkPolyData (procPoly) where each point is assigned with a global inter-process point Id (through a global point locator 'gPtIdGen') as the point data attribute used later for combining the fragments across multiple processes. More...
|
|
void | AddInterProcessPolygonsToFaceHash (vtkPolyData **procPlys, int *maxFsize, int numProcs) |
| Given a number (numProcs) of vtkPolyData objects (procPlys) storing the (initial) fragments extracted from multiple processes and an array of values (maxFsize) storing the maximum number of faces that an initial fragment may contain on each process (used to allocate appropriate memory for buffering the polygons of an initial fragment), this function pushes these polygons to the face hash on a per fragment basis (the fragment Ids are used to group polygons into initial fragments), detects internal faces / polygons, and registers polygons to the inter-process equivalence set by the intermediate fragment Id. More...
|
|
void | GenerateOutputFromMultiProcesses (vtkPolyData **procPlys, int numProcs, unsigned char partIndx, vtkPolyData *polyData) |
| With the inter-process equivalence set resolved, inter-process fragment Ids resolved, and cell data attributes integrated by the fragment Id, this function retrieves the face hash for the 'valid' faces (as opposed to the removed internal faces), accesses their complete version (according to the information stored in the face) from the vtkPolyData objects (procPlys) that store the polygons of the fragments extracted from multiple (numProcs) processes, and exports these complete 'valid' polygons to the output vtkPolyData (polyData) while attaching the index of the material (partIndx, corresponding to the volume fraction array used to extract the fragments) to each polygon as a cell data attribute. More...
|
|
virtual vtkObjectBase * | NewInstanceInternal () const |
|
| vtkMultiBlockDataSetAlgorithm () |
|
| ~vtkMultiBlockDataSetAlgorithm () |
|
virtual int | FillOutputPortInformation (int port, vtkInformation *info) |
|
vtkDataObject * | GetInput (int port) |
|
virtual int | RequestDataObject (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | RequestDataObject (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
| vtkAlgorithm () |
|
| ~vtkAlgorithm () |
|
virtual void | SetNumberOfInputPorts (int n) |
|
virtual void | SetNumberOfOutputPorts (int n) |
|
int | InputPortIndexInRange (int index, const char *action) |
|
int | OutputPortIndexInRange (int index, const char *action) |
|
int | GetInputArrayAssociation (int idx, vtkInformationVector **inputVector) |
|
void | ReportReferences (vtkGarbageCollector *) VTK_OVERRIDE |
|
virtual void | SetNumberOfInputConnections (int port, int n) |
|
int | GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector) |
|
int | GetInputArrayAssociation (int idx, vtkDataObject *input) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association) |
|
vtkInformation * | GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector) |
|
virtual void | SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input) |
|
void | SetInputDataInternal (int port, vtkDataObject *input) |
|
void | AddInputDataInternal (int port, vtkDataObject *input) |
|
int | GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector) |
|
int | GetInputArrayAssociation (int idx, vtkDataObject *input) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association) |
|
vtkInformation * | GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector) |
|
virtual void | SetErrorCode (unsigned long) |
|
virtual void | SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input) |
|
void | SetInputDataInternal (int port, vtkDataObject *input) |
|
void | AddInputDataInternal (int port, vtkDataObject *input) |
|
| vtkObject () |
|
virtual | ~vtkObject () |
|
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
|
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
|
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
|
void | InternalReleaseFocus () |
|
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
|
void | InternalReleaseFocus () |
|
| vtkObjectBase () |
|
virtual | ~vtkObjectBase () |
|
virtual void | CollectRevisions (ostream &) |
|
| vtkObjectBase (const vtkObjectBase &) |
|
void | operator= (const vtkObjectBase &) |
|
Extracts material fragments from multi-block vtkRectilinearGrid datasets based on the selected volume fraction array(s) and a fraction isovalue and integrates the associated attributes.
Given one or multiple vtkRectilinearGrid datasets with one or multiple volume fraction arrays (representing some materials) and possibly other attributes (like pressure, density, and et al) as the cell data, this filter extracts fragments from the dual grids (with the aforementioned values as the point data) based on the (at least one) selected fraction array(s) in combination with a specified fraction value and integrates the attributes (e.g., volume, pressure, density) across the surface of each fragment. Each material, made up of one or multiple disconnected fragments, is exported to the output vtkMultiBlockDataSet as a single block that is a vtkPolyData storing the exterior polygons of the fragment (s) and the associated cell data attributes as the integrated result (of the fragment) in terms of the volume, pressure, density, and et al.
This filter differs from a closely related filter vtkGridConnectivity in that the former extracts fragments at a sub-cell resolution to create relatively smooth surfaces while the latter works at the cell granularity (a whole cell is taken as either inside or outside a fragment) to cause staircasing artifacts. In fact, an extended 256-entry marching cubes LUT is designed for generating cube faces (either truncated by iso-lines or not) in addition to iso-triangles. These two kinds of polygons in combination represent the surface(s) of the greater-than-isovalue sub- volume(s) extracted in a cube.
vtkRectilinearGridConnectivity performs fragments extraction using a three-level mechanism, i.e., intra-process intra-block, intra-process inter-block, and inter-process in increasing order, with the fragments extracted (in the form of polygons stored as a vtkPolyData) at a lower level submitted to its upper level for further extraction (specifically by combining multiple disconnected fragments into a single one wherever possible). Since a fragment is represented by means of its exterior faces / polygons, extracting fragments turns into the task of detecting and removing internal faces (an internal face is the one shared by two sub- volumes or fragments) in a way of combining the associated sub-volumes or fragments. For the fragemnts extraction conducted at any level, the polygons of the input (e.g., greater-than-isovalue sub-volumes resulting from marching cubes for the lowest level extraction) are pushed to a face hash (that accepts the three smallest point Ids of a polygon: triangle, quad, or pentagon) on a per sub-volume or fragment basis. Once the face hash detects an internal face, an entry is added to an equivalence set (by means of class vtkEquivalenceSet) to correlate the two fragment Ids that are attached to the two associated sub-volumes or fragments' polygons. After resolving the equivalence set, each face that remains in the face hash (internal faces are masked as invalid) is updated with a resolved fragment Id. In this way the original complete polygons (triangles, quads, pentagons) pointed to by the remaining hashed faces with the same resolved fragment Id are retrieved from the input vtkPolyData and hence combined by means of the same fragemnt Id.
- See also
- vtkGridConnectivity vtkExtractCTHPart vtkPolyData vtkRectilinearGrid vtkMultiBlockDataSetAlgorithm
Definition at line 82 of file vtkRectilinearGridConnectivity.h.