VTK  9.3.20240916
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkHyperTreeGridGeometryImpl Class Referenceabstract

Interface for all vtkHyperTreeGridGeometry internal classes. More...

#include <vtkHyperTreeGridGeometryImpl.h>

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

Public Member Functions

 vtkHyperTreeGridGeometryImpl (vtkHyperTreeGrid *input, vtkPoints *outPoints, vtkCellArray *outCells, vtkDataSetAttributes *inCellDataAttributes, vtkDataSetAttributes *outCellDataAttributes, bool passThroughCellIds, const std::string &originalCellIdArrayName)
 
virtual ~vtkHyperTreeGridGeometryImpl ()=default
 
virtual void GenerateGeometry ()=0
 Generate the external surface of the input vtkHyperTreeGrid.
 

Protected Member Functions

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

vtkHyperTreeGridInput
 Input parameters retrieved from constructor.
 
vtkPointsOutPoints
 
vtkCellArrayOutCells
 
vtkDataSetAttributesInCellDataAttributes
 
vtkDataSetAttributesOutCellDataAttributes
 
vtkDataArrayInIntercepts
 Retrieved from input for quick access.
 
vtkDataArrayInNormals
 
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

Interface for all vtkHyperTreeGridGeometry internal classes.

This class defines the common interface of all vtkHyperTreeGridGeometry internal classes. The role of these classes is to perform the actual generation of the external surface (geometry) of the input vtkHyperTreeGrid.

The code is split into specific internal classes depending on the dimension of the input HTG. Each class implement the pure virtual GenerateGeometry method, that achieve the construction of the HTG surface.

Definition at line 31 of file vtkHyperTreeGridGeometryImpl.h.

Constructor & Destructor Documentation

◆ vtkHyperTreeGridGeometryImpl()

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

◆ ~vtkHyperTreeGridGeometryImpl()

virtual vtkHyperTreeGridGeometryImpl::~vtkHyperTreeGridGeometryImpl ( )
virtualdefault

Member Function Documentation

◆ GenerateGeometry()

virtual void vtkHyperTreeGridGeometryImpl::GenerateGeometry ( )
pure virtual

Generate the external surface of the input vtkHyperTreeGrid.

This method is implemented by subclasses, depending on the dimension of the HTG.

Implemented in vtkHyperTreeGridGeometry3DImpl, and vtkHyperTreeGridGeometrySmallDimensionsImpl.

◆ ComputeDistanceToInterfaceA()

double vtkHyperTreeGridGeometryImpl::ComputeDistanceToInterfaceA ( const double *  xyz) const
protected

Compute the value of the distance from the given point to the interface plane of the currently considered HTG cell.

A and B refers to the two interfaces that can cut the HTG cell.

XXX: The value returned by this function depends on the actual values of CellIntercepts and CellNormals.

◆ ComputeDistanceToInterfaceB()

double vtkHyperTreeGridGeometryImpl::ComputeDistanceToInterfaceB ( const double *  xyz) const
protected

Compute the value of the distance from the given point to the interface plane of the currently considered HTG cell.

A and B refers to the two interfaces that can cut the HTG cell.

XXX: The value returned by this function depends on the actual values of CellIntercepts and CellNormals.

◆ CreateNewCellAndCopyData()

void vtkHyperTreeGridGeometryImpl::CreateNewCellAndCopyData ( const std::vector< vtkIdType > &  outPointIds,
vtkIdType  cellId 
)
protected

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.

◆ IsMaskedOrGhost()

bool vtkHyperTreeGridGeometryImpl::IsMaskedOrGhost ( vtkIdType  globalNodeId) const
protected

Returns true if the input HTG cell is masked or ghosted.

◆ ProbeForCellInterface()

bool vtkHyperTreeGridGeometryImpl::ProbeForCellInterface ( vtkIdType  cellId,
bool  invert = true 
)
protected

Determine if the input HTG at cellId contains an valid interface and if yes, determine its characteristics, stored in the variables below.

Returns true in case of a "valid" interface description.

XXX: Populates:

  • HasInterfaceOnThisCell
  • CellInterfaceType
  • CellNormals
  • CellIntercepts

Member Data Documentation

◆ Input

vtkHyperTreeGrid* vtkHyperTreeGridGeometryImpl::Input
protected

Input parameters retrieved from constructor.

Definition at line 91 of file vtkHyperTreeGridGeometryImpl.h.

◆ OutPoints

vtkPoints* vtkHyperTreeGridGeometryImpl::OutPoints
protected

Definition at line 92 of file vtkHyperTreeGridGeometryImpl.h.

◆ OutCells

vtkCellArray* vtkHyperTreeGridGeometryImpl::OutCells
protected

Definition at line 93 of file vtkHyperTreeGridGeometryImpl.h.

◆ InCellDataAttributes

vtkDataSetAttributes* vtkHyperTreeGridGeometryImpl::InCellDataAttributes
protected

Definition at line 94 of file vtkHyperTreeGridGeometryImpl.h.

◆ OutCellDataAttributes

vtkDataSetAttributes* vtkHyperTreeGridGeometryImpl::OutCellDataAttributes
protected

Definition at line 95 of file vtkHyperTreeGridGeometryImpl.h.

◆ InIntercepts

vtkDataArray* vtkHyperTreeGridGeometryImpl::InIntercepts
protected

Retrieved from input for quick access.

Definition at line 100 of file vtkHyperTreeGridGeometryImpl.h.

◆ InNormals

vtkDataArray* vtkHyperTreeGridGeometryImpl::InNormals
protected

Definition at line 101 of file vtkHyperTreeGridGeometryImpl.h.

◆ HasInterface

bool vtkHyperTreeGridGeometryImpl::HasInterface = false
protected

True if input HTG have an interface and if InIntercepts and InNormals are defined.

Definition at line 107 of file vtkHyperTreeGridGeometryImpl.h.

◆ HasInterfaceOnThisCell

bool vtkHyperTreeGridGeometryImpl::HasInterfaceOnThisCell = false
protected

True if the current cell have a "valid" interface defined.

XXX: cache for the "current" cell XXX: depends on HasInterface, CellIntercepts and CellNormals

Definition at line 116 of file vtkHyperTreeGridGeometryImpl.h.

◆ CellInterfaceType

int vtkHyperTreeGridGeometryImpl::CellInterfaceType = 2
protected

Categorize the current cell interface type.

Possible values are: -1 : mixed cell with an interface normal points to the "inside" of the cell 0 : mixed cell with double interface 1 : mixed cell with an interface normal points to the "outside" of the cell

XXX: cache for the "current" cell XXX: retrieved from CellIntercepts[2]

Definition at line 130 of file vtkHyperTreeGridGeometryImpl.h.


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