VTK  9.4.20250311
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkHyperTreeGridGeometrySmallDimensionsImpl Class Referenceabstract

Common interface for 1D and 2D vtkHyperTreeGridGeometry internal classes. More...

#include <vtkHyperTreeGridGeometrySmallDimensionsImpl.h>

Inheritance diagram for vtkHyperTreeGridGeometrySmallDimensionsImpl:
[legend]
Collaboration diagram for vtkHyperTreeGridGeometrySmallDimensionsImpl:
[legend]

Public Member Functions

 vtkHyperTreeGridGeometrySmallDimensionsImpl (vtkHyperTreeGrid *input, vtkPoints *outPoints, vtkCellArray *outCells, vtkDataSetAttributes *inCellDataAttributes, vtkDataSetAttributes *outCellDataAttributes, bool passThroughCellIds, const std::string &originalCellIdArrayName, bool fillMaterial)
 
 ~vtkHyperTreeGridGeometrySmallDimensionsImpl () override=default
 
void GenerateGeometry () override
 Generate the external surface of the input vtkHyperTreeGrid.
 
- Public Member Functions inherited from vtkHyperTreeGridGeometryImpl
 vtkHyperTreeGridGeometryImpl (vtkHyperTreeGrid *input, vtkPoints *outPoints, vtkCellArray *outCells, vtkDataSetAttributes *inCellDataAttributes, vtkDataSetAttributes *outCellDataAttributes, bool passThroughCellIds, const std::string &originalCellIdArrayName, bool fillMaterial)
 
virtual ~vtkHyperTreeGridGeometryImpl ()=default
 
virtual void GenerateGeometry ()=0
 Generate the external surface of the input vtkHyperTreeGrid.
 

Protected Member Functions

void RecursivelyProcessTree (vtkHyperTreeGridNonOrientedGeometryCursor *cursor)
 Recursively browse the input HTG in order to generate the output surface.
 
void ProcessLeafCellWithInterface (vtkHyperTreeGridNonOrientedGeometryCursor *cursor)
 Generate the surface for a leaf cell with a defined interface.
 
virtual void ProcessLeafCellWithoutInterface (vtkHyperTreeGridNonOrientedGeometryCursor *cursor)
 Generate the surface for a leaf cell with no interface.
 
virtual void ProcessLeafCellWithOneInterface (vtkHyperTreeGridNonOrientedGeometryCursor *cursor, double sign, const std::vector< double > &distancesToInterface)=0
 Generate the surface for a leaf cell cut by one interface.
 
virtual void ProcessLeafCellWithDoubleInterface (vtkHyperTreeGridNonOrientedGeometryCursor *cursor, const std::vector< double > &distancesToInterfaceA, const std::vector< double > &distancesToInterfaceB)=0
 Generate the surface for a leaf cell cut by two interfaces.
 
virtual void BuildCellPoints (vtkHyperTreeGridNonOrientedGeometryCursor *cursor)=0
 Compute the point coordinates of the surface of the current cell, independently of the fact that the current cell has a defined interface or not.
 
- Protected Member Functions inherited from vtkHyperTreeGridGeometryImpl
void CreateNewCellAndCopyData (const std::vector< vtkIdType > &outPointIds, vtkIdType cellId)
 Insert a new output cell from a list of point ids in the output polydata and copy the data from the input HTG cell at cellId to the newly created surface cell.
 
bool IsMaskedOrGhost (vtkIdType globalNodeId) const
 Returns true if the input HTG cell is masked or ghosted.
 
bool ProbeForCellInterface (vtkIdType cellId, bool invert=true)
 Determine if the input HTG at cellId contains an valid interface and if yes, determine its characteristics, stored in the variables below.
 
double ComputeDistanceToInterfaceA (const double *xyz) const
 Compute the value of the distance from the given point to the interface plane of the currently considered HTG cell.
 
double ComputeDistanceToInterfaceB (const double *xyz) const
 Compute the value of the distance from the given point to the interface plane of the currently considered HTG cell.
 

Protected Attributes

vtkNew< vtkPointsCellPoints
 Contains the point coordinates of the current cell surface, without considering eventual cuts made by interfaces.
 
- Protected Attributes inherited from vtkHyperTreeGridGeometryImpl
vtkHyperTreeGridInput = nullptr
 Input parameters retrieved from constructor.
 
vtkPointsOutPoints = nullptr
 
vtkCellArrayOutCells = nullptr
 
vtkDataSetAttributesInCellDataAttributes = nullptr
 
vtkDataSetAttributesOutCellDataAttributes = nullptr
 
bool FillMaterial = true
 
vtkDataArrayInIntercepts = nullptr
 Retrieved from input for quick access.
 
vtkDataArrayInNormals = nullptr
 
bool HasInterface = false
 True if input HTG have an interface and if InIntercepts and InNormals are defined.
 
bool HasInterfaceOnThisCell = false
 True if the current cell have a "valid" interface defined.
 
int CellInterfaceType = 2
 Categorize the current cell interface type.
 

Detailed Description

Common interface for 1D and 2D vtkHyperTreeGridGeometry internal classes.

This class defines the common interface for or 1D and 2D vtkHyperTreeGridGeometry internal classes, because their overall logic is very close.

Definition at line 26 of file vtkHyperTreeGridGeometrySmallDimensionsImpl.h.

Constructor & Destructor Documentation

◆ vtkHyperTreeGridGeometrySmallDimensionsImpl()

vtkHyperTreeGridGeometrySmallDimensionsImpl::vtkHyperTreeGridGeometrySmallDimensionsImpl ( vtkHyperTreeGrid input,
vtkPoints outPoints,
vtkCellArray outCells,
vtkDataSetAttributes inCellDataAttributes,
vtkDataSetAttributes outCellDataAttributes,
bool  passThroughCellIds,
const std::string &  originalCellIdArrayName,
bool  fillMaterial 
)

◆ ~vtkHyperTreeGridGeometrySmallDimensionsImpl()

vtkHyperTreeGridGeometrySmallDimensionsImpl::~vtkHyperTreeGridGeometrySmallDimensionsImpl ( )
overridedefault

Member Function Documentation

◆ GenerateGeometry()

void vtkHyperTreeGridGeometrySmallDimensionsImpl::GenerateGeometry ( )
overridevirtual

Generate the external surface of the input vtkHyperTreeGrid.

Implements vtkHyperTreeGridGeometryImpl.

◆ RecursivelyProcessTree()

void vtkHyperTreeGridGeometrySmallDimensionsImpl::RecursivelyProcessTree ( vtkHyperTreeGridNonOrientedGeometryCursor cursor)
protected

Recursively browse the input HTG in order to generate the output surface.

Tis method is called by GenerateGeometry.

XXX: We need to determine a common interface for all cursors in order to define RecursivelyProcessTree as virtual in upper classes.

◆ ProcessLeafCellWithInterface()

void vtkHyperTreeGridGeometrySmallDimensionsImpl::ProcessLeafCellWithInterface ( vtkHyperTreeGridNonOrientedGeometryCursor cursor)
protected

Generate the surface for a leaf cell with a defined interface.

◆ ProcessLeafCellWithoutInterface()

virtual void vtkHyperTreeGridGeometrySmallDimensionsImpl::ProcessLeafCellWithoutInterface ( vtkHyperTreeGridNonOrientedGeometryCursor cursor)
protectedvirtual

Generate the surface for a leaf cell with no interface.

◆ ProcessLeafCellWithOneInterface()

virtual void vtkHyperTreeGridGeometrySmallDimensionsImpl::ProcessLeafCellWithOneInterface ( vtkHyperTreeGridNonOrientedGeometryCursor cursor,
double  sign,
const std::vector< double > &  distancesToInterface 
)
protectedpure virtual

Generate the surface for a leaf cell cut by one interface.

Called by ProcessLeafCellWithInterface.

Implemented in vtkHyperTreeGridGeometry2DImpl, and vtkHyperTreeGridGeometry1DImpl.

◆ ProcessLeafCellWithDoubleInterface()

virtual void vtkHyperTreeGridGeometrySmallDimensionsImpl::ProcessLeafCellWithDoubleInterface ( vtkHyperTreeGridNonOrientedGeometryCursor cursor,
const std::vector< double > &  distancesToInterfaceA,
const std::vector< double > &  distancesToInterfaceB 
)
protectedpure virtual

Generate the surface for a leaf cell cut by two interfaces.

Called by ProcessLeafCellWithInterface.

Implemented in vtkHyperTreeGridGeometry1DImpl, and vtkHyperTreeGridGeometry2DImpl.

◆ BuildCellPoints()

virtual void vtkHyperTreeGridGeometrySmallDimensionsImpl::BuildCellPoints ( vtkHyperTreeGridNonOrientedGeometryCursor cursor)
protectedpure virtual

Compute the point coordinates of the surface of the current cell, independently of the fact that the current cell has a defined interface or not.

Used as a pre-process in ProcessLeafCellWithInterface.

XXX: can be used in ProcessLeafCellWithoutInterface ?

Implemented in vtkHyperTreeGridGeometry1DImpl, and vtkHyperTreeGridGeometry2DImpl.

Member Data Documentation

◆ CellPoints

vtkNew<vtkPoints> vtkHyperTreeGridGeometrySmallDimensionsImpl::CellPoints
protected

Contains the point coordinates of the current cell surface, without considering eventual cuts made by interfaces.

XXX: cache variable for the "current" cell

Definition at line 92 of file vtkHyperTreeGridGeometrySmallDimensionsImpl.h.


The documentation for this class was generated from the following file: