VTK  9.7.20261103
vtkUnstructuredGridSideMap Class Reference

#include <vtkUnstructuredGridSideMap.h>

Detailed Description

the numbering of the sides shared between the cells of a vtkUnstructuredGrid

vtkUnstructuredGridSideMap gives a vtkUnstructuredGrid a dense numbering of its sides, so that a side shared by two cells has one id and therefore one tuple in the grid's side data, a vtkSideData reached through vtkUnstructuredGrid::GetSideData(). It does this without storing any side-to-point connectivity: a side's points are recovered from the cell that owns it, through vtkCellTypeSides.

The addressing is by half-side. A half-side is a (cell, local side) pair, and its id is arithmetic:

halfSide = CellSideOffsets[cellId] + localSide

Half-sides are implicit in a vtkUnstructuredGrid already; what has to be stored is which of them name the same side. That is HalfSideToSide, one dense id per half-side, and the inverse, which lists the half-sides of each side and whose first entry is the side's representative.

Every query is O(1):

GetCellSide(cellId, localSide) -> side id GetSidePoints(sideId, ptIds) -> the representative's winding GetSideCells(sideId, cellIds) -> the incident cells GetSideOrientation(cellId, localSide) -> +1 or -1

VTK's canonical face and edge templates are consistently outward-oriented, so the two cells sharing a side traverse it in opposite directions. GetSidePoints() returns the representative cell's traversal, which is that cell's outward winding; the other cell sees it reversed. GetSideOrientation() reports which case a given cell is in, so no orientation array is stored.

Side data with a sign, such as a flux or the normal component of a velocity, is relative to the representative cell's outward normal, the winding GetSidePoints() returns. A reader whose file measures it from another cell negates the values of the sides where GetSideOrientation() is -1 for that cell.

The structure costs nothing until asked for. BuildMap() runs on demand and is re-run when the grid's topology changes. Two modes:

  • Derived. Nobody supplies a numbering, so BuildMap() takes the grouped sides of vtkUnstructuredGridSides: each group of equal cell sides is one side here, and its members are that side's half-sides. Two half-sides match when they have the same corners in cyclic order, either way, and the same other points, e.g., the mid-edge nodes of a quadratic face. Purely a cache: the numbering is unobservable, and may be dropped and recomputed freely.
  • Authored. SetSideIds() supplies the numbering, typically a reader passing through the side ids the file already uses. No matching pass runs. The numbering is now load-bearing, because the side data is indexed by it, so it is data rather than cache and must be carried, not recomputed.

Once the side data holds anything, the numbering is pinned either way: a fresh derived build would be a different permutation and would silently transpose every value. A change of topology drops the numbering and the side data together, with a warning.

Both 3D and 2D cells take part. A 3D cell's sides are its faces; a 2D cell's sides are its edges. Either way they are the codimension-one boundary, so a side id means the same kind of thing in a volume mesh and in a surface mesh, and a surface mesh carries data on its edges the same way a volume mesh carries data on its faces. The sides are those of vtkCellTypeSides, read from its static tables, or from the cell for the higher-order cells. The edges of a pixel and of a higher-order quadrilateral, which follow its parametric axes, are reversed where needed to run round its boundary.

The structure depends on the topology of the grid only: moving its points keeps it, and the side data indexed by it.

Ghost cells take part like any other cell, so the numbering is per grid: a side on the boundary between two processes has an id on each of them, and there is no global side numbering.

BuildMap() is not thread safe, and every query calls it. Build the structure from one thread, e.g., by calling GetNumberOfSides(), before reading it from several; the queries are then thread safe as long as the grid's topology is not modified.

Warning
The higher-order pyramids have no sides here, since vtkCellTypeSides has none for them.
See also
vtkUnstructuredGrid vtkUnstructuredGridSides vtkCellTypeSides
Tests:
vtkUnstructuredGridSideMap (Tests)

Definition at line 113 of file vtkUnstructuredGridSideMap.h.

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

Classes

struct  IdColumn
 One column of the structure, kept in the narrowest integer type its values fit in and read through a raw pointer. More...

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
vtkUnstructuredGridSideMap * NewInstance () const
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
bool UsesGarbageCollector () const override
 Indicate whether the class uses vtkGarbageCollector or not.
void BuildMap ()
 Build the side map if it is not up to date with the grid's topology.
bool IsMapBuilt ()
 Whether the side map is built and up to date.
void SetSideIds (vtkDataArray *halfSideToSide, vtkIdType numberOfSides)
 Supply the side numbering rather than deriving one.
virtual bool GetAuthored ()
 Whether the numbering was supplied rather than derived.
vtkIdType GetNumberOfCellSides (vtkIdType cellId)
 The number of sides of a cell: its faces for a 3D cell, its edges for a 2D cell, 0 otherwise.
vtkIdType GetHalfSideId (vtkIdType cellId, vtkIdType localSide)
 The half-side id of side localSide of cell cellId, i.e., CellSideOffsets[cellId] + localSide, or -1 if there is no such side.
void GetSidePoints (vtkIdType sideId, vtkIdList *ptIds, vtkIdList *tempCellPointIds, vtkGenericCell *tempCell)
 The points of a side, in the winding of the cell that represents it, which is that cell's outward winding.
void GetSideCells (vtkIdType sideId, vtkIdList *cellIds)
 The cells incident on a side: one for a boundary side, two for an interior side of a conforming mesh, more where the mesh is non-manifold.
int GetSideOrientation (vtkIdType cellId, vtkIdType localSide)
 +1 when this cell traverses the side the way GetSidePoints() returns it, -1 when it traverses it the other way.
vtkIdType CheckWindingConsistency (vtkIdList *offendingSides=nullptr)
 Count the sides whose two cells traverse them the same way round, which they should not, and optionally list them.
void GetCellNeighbors (vtkIdType cellId, vtkIdList *neighborCellIds)
 The cells that share a side with this one.
void Initialize ()
 Drop the side map and any supplied numbering.
unsigned long GetActualMemorySize ()
 Kibibytes held by the side structure.
void SetDataSet (vtkUnstructuredGrid *dataSet)
 The grid these sides belong to.
vtkUnstructuredGrid * GetDataSet ()
 The grid these sides belong to.
vtkIdType GetNumberOfSides ()
 Sizes.
vtkIdType GetNumberOfHalfSides ()
 Sizes.
vtkIdType GetCellSide (vtkIdType cellId, vtkIdType localSide)
 The side id of side localSide of cell cellId, i.e., HalfSideToSide[GetHalfSideId(cellId, localSide)], or -1 if there is no such side.
void GetCellSides (vtkIdType cellId, vtkIdList *sideIds)
 The side id of side localSide of cell cellId, i.e., HalfSideToSide[GetHalfSideId(cellId, localSide)], or -1 if there is no such side.
void ShallowCopy (vtkUnstructuredGridSideMap *other)
 ShallowCopy shares the structure; DeepCopy takes its own.
void DeepCopy (vtkUnstructuredGridSideMap *other)
 ShallowCopy shares the structure; DeepCopy takes its own.
vtkDataArray * GetCellSideOffsets ()
 Direct access to the arrays, for filters that walk them rather than call the accessors.
vtkDataArray * GetHalfSideToSide ()
 Direct access to the arrays, for filters that walk them rather than call the accessors.
vtkDataArray * GetSideOffsets ()
 Direct access to the arrays, for filters that walk them rather than call the accessors.
vtkDataArray * GetSideCellsArray ()
 Direct access to the arrays, for filters that walk them rather than call the accessors.
vtkDataArray * GetSideLocalSidesArray ()
 Direct access to the arrays, for filters that walk them rather than call the accessors.
Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
virtual void DebugOn ()
 Turn debugging output on.
virtual void DebugOff ()
 Turn debugging output off.
bool GetDebug ()
 Get the value of the debug flag.
void SetDebug (bool debugFlag)
 Set the value of the debug flag.
virtual void Modified ()
 Update the modification time for this object.
virtual vtkMTimeType GetMTime ()
 Return this object's modified time.
void RemoveObserver (unsigned long tag)
void RemoveObservers (unsigned long event)
void RemoveObservers (const char *event)
void RemoveAllObservers ()
vtkTypeBool HasObserver (unsigned long event)
vtkTypeBool HasObserver (const char *event)
vtkTypeBool InvokeEvent (unsigned long event)
vtkTypeBool InvokeEvent (const char *event)
std::string GetObjectDescription () const override
 The object description printed in messages and PrintSelf output.
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
vtkCommand * GetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
template<class U, class T>
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
template<class U, class T>
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
template<class U, class T>
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method.
vtkTypeBool InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
vtkTypeBool InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes.
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes.
Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string.
virtual vtkIdType GetNumberOfGenerationsFromBase (const char *name)
 Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
virtual void Delete ()
 Delete a VTK object.
virtual void FastDelete ()
 Delete a reference to this object.
void InitializeObjectBase ()
void Print (ostream &os)
 Print an object to an ostream.
void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object).
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object).
int GetReferenceCount ()
 Return the current reference count of this object.
void SetReferenceCount (int)
 Sets the reference count.
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space.
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.

Static Public Member Functions

static vtkUnstructuredGridSideMap * New ()
static vtkTypeBool IsTypeOf (const char *type)
static vtkUnstructuredGridSideMap * SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkObject
static vtkObject * New ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
static void BreakOnError ()
 This method is called when vtkErrorMacro executes.
static void SetGlobalWarningDisplay (vtkTypeBool val)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
static vtkTypeBool GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class.
static vtkIdType GetNumberOfGenerationsFromBaseType (const char *name)
 Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
static vtkObjectBase * New ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within.
static bool GetUsingMemkind ()
 A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space.

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 vtkUnstructuredGridSideMap ()
 ~vtkUnstructuredGridSideMap () override
void ReportReferences (vtkGarbageCollector *) override
bool BuildCellSideOffsets ()
void DeriveSideIds ()
void BuildInverse ()
void ClearStructure ()
bool HasSideData ()
Protected Member Functions inherited from vtkObject
 vtkObject ()
 ~vtkObject () override
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events.
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events.
Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
virtual ~vtkObjectBase ()
 vtkObjectBase (const vtkObjectBase &)
void operator= (const vtkObjectBase &)

Protected Attributes

vtkUnstructuredGrid * DataSet = nullptr
IdColumn CellSideOffsets
IdColumn HalfSideToSide
IdColumn SideOffsets
IdColumn SideCells
IdColumn SideLocalSides
vtkIdType NumberOfSides = 0
vtkIdType NumberOfHalfSides = 0
bool Authored = false
vtkTimeStamp BuildTime
Protected Attributes inherited from vtkObject
bool Debug
vtkTimeStamp MTime
vtkSubjectHelper * SubjectHelper
std::string ObjectName
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
vtkWeakPointerBase ** WeakPointers

Additional Inherited Members

Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
static vtkReallocingFunction GetCurrentReallocFunction ()
static vtkFreeingFunction GetCurrentFreeFunction ()
static vtkFreeingFunction GetAlternateFreeFunction ()

Member Typedef Documentation

◆ Superclass

Constructor & Destructor Documentation

◆ vtkUnstructuredGridSideMap()

vtkUnstructuredGridSideMap::vtkUnstructuredGridSideMap ( )
protected

◆ ~vtkUnstructuredGridSideMap()

vtkUnstructuredGridSideMap::~vtkUnstructuredGridSideMap ( )
overrideprotected

Member Function Documentation

◆ New()

vtkUnstructuredGridSideMap * vtkUnstructuredGridSideMap::New ( )
static

◆ IsTypeOf()

vtkTypeBool vtkUnstructuredGridSideMap::IsTypeOf ( const char * type)
static

◆ IsA()

virtual vtkTypeBool vtkUnstructuredGridSideMap::IsA ( const char * name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObjectBase.

◆ SafeDownCast()

vtkUnstructuredGridSideMap * vtkUnstructuredGridSideMap::SafeDownCast ( vtkObjectBase * o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkUnstructuredGridSideMap::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkUnstructuredGridSideMap * vtkUnstructuredGridSideMap::NewInstance ( ) const

◆ PrintSelf()

void vtkUnstructuredGridSideMap::PrintSelf ( ostream & os,
vtkIndent indent )
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

◆ SetDataSet()

void vtkUnstructuredGridSideMap::SetDataSet ( vtkUnstructuredGrid * dataSet)

The grid these sides belong to.

Setting another grid drops the structure. The grid is reported to the garbage collector, since a grid holds its side map, see ReportReferences().

◆ GetDataSet()

vtkUnstructuredGrid * vtkUnstructuredGridSideMap::GetDataSet ( )

The grid these sides belong to.

Setting another grid drops the structure. The grid is reported to the garbage collector, since a grid holds its side map, see ReportReferences().

◆ UsesGarbageCollector()

bool vtkUnstructuredGridSideMap::UsesGarbageCollector ( ) const
inlineoverridevirtual

Indicate whether the class uses vtkGarbageCollector or not.

Most classes will not need to do this, but if the class participates in a strongly-connected reference count cycle, participation can resolve these cycles.

If overriding this method to return true, the ReportReferences method should be overridden to report references that may be in cycles.

Reimplemented from vtkObjectBase.

Definition at line 130 of file vtkUnstructuredGridSideMap.h.

◆ BuildMap()

void vtkUnstructuredGridSideMap::BuildMap ( )

Build the side map if it is not up to date with the grid's topology.

Called by every query, so there is normally no reason to call it directly.

◆ IsMapBuilt()

bool vtkUnstructuredGridSideMap::IsMapBuilt ( )

Whether the side map is built and up to date.

Does not build it.

◆ SetSideIds()

void vtkUnstructuredGridSideMap::SetSideIds ( vtkDataArray * halfSideToSide,
vtkIdType numberOfSides )

Supply the side numbering rather than deriving one.

halfSideToSide holds one side id per half-side, in half-side order, and the ids must cover [0, numberOfSides). No matching pass runs, so the caller is trusted: two half-sides given the same id are taken to be the same side.

This is how a reader keeps the file's own side numbering, so that data dimensioned on sides reads straight in with no permutation. The representative of each side is still its lowest half-side, so signed side data has to be measured from that cell, as the class description says.

◆ GetAuthored()

virtual bool vtkUnstructuredGridSideMap::GetAuthored ( )
virtual

Whether the numbering was supplied rather than derived.

An authored numbering is data: it has to be copied and serialized, not recomputed.

◆ GetNumberOfSides()

vtkIdType vtkUnstructuredGridSideMap::GetNumberOfSides ( )

Sizes.

◆ GetNumberOfHalfSides()

vtkIdType vtkUnstructuredGridSideMap::GetNumberOfHalfSides ( )

Sizes.

◆ GetNumberOfCellSides()

vtkIdType vtkUnstructuredGridSideMap::GetNumberOfCellSides ( vtkIdType cellId)

The number of sides of a cell: its faces for a 3D cell, its edges for a 2D cell, 0 otherwise.

◆ GetHalfSideId()

vtkIdType vtkUnstructuredGridSideMap::GetHalfSideId ( vtkIdType cellId,
vtkIdType localSide )

The half-side id of side localSide of cell cellId, i.e., CellSideOffsets[cellId] + localSide, or -1 if there is no such side.

Each cell has its own half-sides, so two cells sharing a side have different half-side ids for it. A half-side id indexes HalfSideToSide.

◆ GetCellSide()

vtkIdType vtkUnstructuredGridSideMap::GetCellSide ( vtkIdType cellId,
vtkIdType localSide )

The side id of side localSide of cell cellId, i.e., HalfSideToSide[GetHalfSideId(cellId, localSide)], or -1 if there is no such side.

Two cells sharing a side get the same side id, which indexes the side data. GetCellSides() gives the side ids of all the sides of a cell, in local side order.

◆ GetCellSides()

void vtkUnstructuredGridSideMap::GetCellSides ( vtkIdType cellId,
vtkIdList * sideIds )

The side id of side localSide of cell cellId, i.e., HalfSideToSide[GetHalfSideId(cellId, localSide)], or -1 if there is no such side.

Two cells sharing a side get the same side id, which indexes the side data. GetCellSides() gives the side ids of all the sides of a cell, in local side order.

◆ GetSidePoints()

void vtkUnstructuredGridSideMap::GetSidePoints ( vtkIdType sideId,
vtkIdList * ptIds,
vtkIdList * tempCellPointIds,
vtkGenericCell * tempCell )

The points of a side, in the winding of the cell that represents it, which is that cell's outward winding.

A cell holding the side the other way sees these points reversed; GetSideOrientation() says which. tempCellPointIds and tempCell are scratch objects of the caller, e.g., one per thread.

◆ GetSideCells()

void vtkUnstructuredGridSideMap::GetSideCells ( vtkIdType sideId,
vtkIdList * cellIds )

The cells incident on a side: one for a boundary side, two for an interior side of a conforming mesh, more where the mesh is non-manifold.

The first is the representative, whose winding GetSidePoints() returns.

◆ GetSideOrientation()

int vtkUnstructuredGridSideMap::GetSideOrientation ( vtkIdType cellId,
vtkIdType localSide )

+1 when this cell traverses the side the way GetSidePoints() returns it, -1 when it traverses it the other way.

Derived from the structure rather than stored.

For the sign to mean outward, the two cells sharing a side have to traverse it opposite ways. For 3D cells that follows from the type: VTK's canonical face templates are outward-wound, so a correctly ordered cell cannot get it wrong. For 2D cells it does not: an edge's direction only means anything relative to the neighbouring cell, so it is the mesh that has to be consistently wound, not each cell in isolation. On a surface mesh that comes down to the cells all being wound the same way round, which is a property of the data. CheckWindingConsistency() says whether it holds.

◆ CheckWindingConsistency()

vtkIdType vtkUnstructuredGridSideMap::CheckWindingConsistency ( vtkIdList * offendingSides = nullptr)

Count the sides whose two cells traverse them the same way round, which they should not, and optionally list them.

Returns 0 for a consistently wound mesh.

This is a diagnostic, not part of the build, because it costs a second pass over the half-sides. It is worth running once on 2D data of unknown provenance: where it reports sides, GetSideOrientation() still says which cell represents a side, but its sign no longer means outward, and a signed quantity read through it will not cancel between neighbours. Boundary and non-manifold sides are skipped, having no two-sided convention to break.

◆ GetCellNeighbors()

void vtkUnstructuredGridSideMap::GetCellNeighbors ( vtkIdType cellId,
vtkIdList * neighborCellIds )

The cells that share a side with this one.

◆ Initialize()

void vtkUnstructuredGridSideMap::Initialize ( )

Drop the side map and any supplied numbering.

The next query builds it again. Refused, with a warning, while the grid's side data holds any array, because the data is indexed by this numbering.

◆ ShallowCopy()

void vtkUnstructuredGridSideMap::ShallowCopy ( vtkUnstructuredGridSideMap * other)

ShallowCopy shares the structure; DeepCopy takes its own.

Neither sets the grid, because the copy belongs to whichever grid is taking it: call SetDataSet() before.

◆ DeepCopy()

void vtkUnstructuredGridSideMap::DeepCopy ( vtkUnstructuredGridSideMap * other)

ShallowCopy shares the structure; DeepCopy takes its own.

Neither sets the grid, because the copy belongs to whichever grid is taking it: call SetDataSet() before.

◆ GetCellSideOffsets()

vtkDataArray * vtkUnstructuredGridSideMap::GetCellSideOffsets ( )

Direct access to the arrays, for filters that walk them rather than call the accessors.

Each has one component and is a vtkUnsignedCharArray, vtkTypeInt32Array or vtkTypeInt64Array, the narrowest that holds its values, so a filter can dispatch on these three types only, e.g., with vtkArrayDispatch::DispatchByArray and vtkTypeList::Create<vtkUnsignedCharArray, vtkTypeInt32Array, vtkTypeInt64Array>. A numbering given to SetSideIds() in one of these types is returned by GetHalfSideToSide() as given; one given in any other type is copied into the narrowest of them.

◆ GetHalfSideToSide()

vtkDataArray * vtkUnstructuredGridSideMap::GetHalfSideToSide ( )

Direct access to the arrays, for filters that walk them rather than call the accessors.

Each has one component and is a vtkUnsignedCharArray, vtkTypeInt32Array or vtkTypeInt64Array, the narrowest that holds its values, so a filter can dispatch on these three types only, e.g., with vtkArrayDispatch::DispatchByArray and vtkTypeList::Create<vtkUnsignedCharArray, vtkTypeInt32Array, vtkTypeInt64Array>. A numbering given to SetSideIds() in one of these types is returned by GetHalfSideToSide() as given; one given in any other type is copied into the narrowest of them.

◆ GetSideOffsets()

vtkDataArray * vtkUnstructuredGridSideMap::GetSideOffsets ( )

Direct access to the arrays, for filters that walk them rather than call the accessors.

Each has one component and is a vtkUnsignedCharArray, vtkTypeInt32Array or vtkTypeInt64Array, the narrowest that holds its values, so a filter can dispatch on these three types only, e.g., with vtkArrayDispatch::DispatchByArray and vtkTypeList::Create<vtkUnsignedCharArray, vtkTypeInt32Array, vtkTypeInt64Array>. A numbering given to SetSideIds() in one of these types is returned by GetHalfSideToSide() as given; one given in any other type is copied into the narrowest of them.

◆ GetSideCellsArray()

vtkDataArray * vtkUnstructuredGridSideMap::GetSideCellsArray ( )

Direct access to the arrays, for filters that walk them rather than call the accessors.

Each has one component and is a vtkUnsignedCharArray, vtkTypeInt32Array or vtkTypeInt64Array, the narrowest that holds its values, so a filter can dispatch on these three types only, e.g., with vtkArrayDispatch::DispatchByArray and vtkTypeList::Create<vtkUnsignedCharArray, vtkTypeInt32Array, vtkTypeInt64Array>. A numbering given to SetSideIds() in one of these types is returned by GetHalfSideToSide() as given; one given in any other type is copied into the narrowest of them.

◆ GetSideLocalSidesArray()

vtkDataArray * vtkUnstructuredGridSideMap::GetSideLocalSidesArray ( )

Direct access to the arrays, for filters that walk them rather than call the accessors.

Each has one component and is a vtkUnsignedCharArray, vtkTypeInt32Array or vtkTypeInt64Array, the narrowest that holds its values, so a filter can dispatch on these three types only, e.g., with vtkArrayDispatch::DispatchByArray and vtkTypeList::Create<vtkUnsignedCharArray, vtkTypeInt32Array, vtkTypeInt64Array>. A numbering given to SetSideIds() in one of these types is returned by GetHalfSideToSide() as given; one given in any other type is copied into the narrowest of them.

◆ GetActualMemorySize()

unsigned long vtkUnstructuredGridSideMap::GetActualMemorySize ( )

Kibibytes held by the side structure.

◆ ReportReferences()

void vtkUnstructuredGridSideMap::ReportReferences ( vtkGarbageCollector * )
overrideprotectedvirtual

Reimplemented from vtkObjectBase.

◆ BuildCellSideOffsets()

bool vtkUnstructuredGridSideMap::BuildCellSideOffsets ( )
protected

◆ DeriveSideIds()

void vtkUnstructuredGridSideMap::DeriveSideIds ( )
protected

◆ BuildInverse()

void vtkUnstructuredGridSideMap::BuildInverse ( )
protected

◆ ClearStructure()

void vtkUnstructuredGridSideMap::ClearStructure ( )
protected

◆ HasSideData()

bool vtkUnstructuredGridSideMap::HasSideData ( )
protected

Member Data Documentation

◆ DataSet

vtkUnstructuredGrid* vtkUnstructuredGridSideMap::DataSet = nullptr
protected

Definition at line 352 of file vtkUnstructuredGridSideMap.h.

◆ CellSideOffsets

IdColumn vtkUnstructuredGridSideMap::CellSideOffsets
protected

Definition at line 355 of file vtkUnstructuredGridSideMap.h.

◆ HalfSideToSide

IdColumn vtkUnstructuredGridSideMap::HalfSideToSide
protected

Definition at line 357 of file vtkUnstructuredGridSideMap.h.

◆ SideOffsets

IdColumn vtkUnstructuredGridSideMap::SideOffsets
protected

Definition at line 361 of file vtkUnstructuredGridSideMap.h.

◆ SideCells

IdColumn vtkUnstructuredGridSideMap::SideCells
protected

Definition at line 365 of file vtkUnstructuredGridSideMap.h.

◆ SideLocalSides

IdColumn vtkUnstructuredGridSideMap::SideLocalSides
protected

Definition at line 366 of file vtkUnstructuredGridSideMap.h.

◆ NumberOfSides

vtkIdType vtkUnstructuredGridSideMap::NumberOfSides = 0
protected

Definition at line 368 of file vtkUnstructuredGridSideMap.h.

◆ NumberOfHalfSides

vtkIdType vtkUnstructuredGridSideMap::NumberOfHalfSides = 0
protected

Definition at line 369 of file vtkUnstructuredGridSideMap.h.

◆ Authored

bool vtkUnstructuredGridSideMap::Authored = false
protected

Definition at line 370 of file vtkUnstructuredGridSideMap.h.

◆ BuildTime

vtkTimeStamp vtkUnstructuredGridSideMap::BuildTime
protected

Definition at line 371 of file vtkUnstructuredGridSideMap.h.


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