GMModelInterfaces Interface CATTopology

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATTopology

Base interface of the cell-complexes, including non manifold, non connected complexes, mixing dimensions of topological cells.


Method Index


o GetAllCells(CATLISTP(CATCell)&,short)
Returns all the CATCells of a prescribed dimension of this CATTopology.
o GetAllDomains(short,short,CATLISTP(CATDomain)&)
Returns all the CATDomains of prescribed low and high dimensions of this CATTopology.
o GetCellNumbers(int*,int*,int*,int*)
Returns the number of Vertices, Edges, Faces and Volumes of this CATTopology.
o IsInside(CATBody*,CATTopology*,CATBoolean)
Tests whether this CATTopology is recursively defined as a boundary of another CATTopology.
o IsTouched()
Tests whether this CATTopology is touched.
o Touch(CATBody*)
Declares that this CATTopology is touched by an operation inside the context of a given body.

Methods


o GetAllCells
public virtual GetAllCells( ioResult,
iDimension=-1 )
Returns all the CATCells of a prescribed dimension of this CATTopology.
Parameters:
ioResult
The list of the resulting cells. Each cell only occurs once in the list.
iDimension
The dimension of the cells.
Legal values:
-1
All the the dimensions.
0
The vertices.
1
The edges.
2
The faces.
3
The volumes.
o GetAllDomains
public virtual GetAllDomains( iContainedCellsDimension,
iContainingCellDimension,
ioResult)
Returns all the CATDomains of prescribed low and high dimensions of this CATTopology.
Parameters:
iContainedCellsDimension
The dimension of the cells contained into the domain.
iContainingCellDimension
The dimension of the unique cell or body containing the domain.
Note that iContainedCellDimension <= iContainingCellDimension. For a CATDomain contained into a CATBody, this dimension is 3.
ioResult
The list of the resulting domains. Each domain only occurs once in the list.
o GetCellNumbers
public virtual GetCellNumbers( iopNbVertices,
iopNbEdges,
iopNbFaces,
iopNbVolumes)
Returns the number of Vertices, Edges, Faces and Volumes of this CATTopology.
Parameters:
iopNbVertices,
iopNbEdges, iopNbFaces, ioNbVolumes The pointers to the output numbers.
o IsInside
public virtual IsInside( iBody,
iTopologyInside= NULL,
iGenerateUpwardLinks= FALSE )
Tests whether this CATTopology is recursively defined as a boundary of another CATTopology.
Parameters:
iBody
The pointer to the body inside which the search is done.
iTopologyInside
The pointer to the other CATTopology (that must belong to iBody). If NULL the search is done in the entire body iBody.
iGenerateUpwardLinks
Reserved for future use (do not change the default value).
Returns:
The result of the test.
Legal values:: A TRUE value is returned if the body owns this CATTopology, FALSE otherwise.
o IsTouched
public virtual IsTouched()
Tests whether this CATTopology is touched.
After its creation a CATToplogy is modifiable. It becomes non-modifiable when a body containing it is frozen. For smart manipulations of a body, one can first Touch some cells of the body, then use a CATSmartBodyDuplicator in order to duplicate only the touched cells and the domains impacted by these modifications. A non-modifiable touched cell will be duplicated during the smart duplication inside another body where it the copy will be modifiable.
Returns:
The result of the test.
Legal values: TRUE if this is touched, FALSE otherwise.
o Touch
public virtual Touch( iBodyForImpactPropagation)
Declares that this CATTopology is touched by an operation inside the context of a given body.
The use of a smart duplicator after this method will duplicate the cells that are touched.
Parameters:
iBodyForImpactPropagation
The pointer to the body inside which the propagation of the modifications of this has to be done.
See also:

This object is included in the file: CATTopology.h
If needed, your Imakefile.mk should include the module: CATGMModelInterfaces

Copyright © 1999-2015, Dassault Systèmes. All rights reserved.