GMModelInterfaces Interface CATDomain

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


interface CATDomain

Interface representing a topological domain.

A domain (CATDomain) is a connected set of cells (CATCell) of same dimension. Hence, a domain defines a boundary of a cell:

Note that a vertex can not be immersed into an egde, because it would cut the edge in two pieces. As the same manner, an edge (/face) or a set of edges (/faces) may be immersed into a face (/volume) only if it does not go right through it.
A CATDomain is contained into an unique CATCell of higher dimension and is located with regards to this cell in the following manner:
CATLocationInner
For internal boundaries (holes into a faces or cavities into a volumes).
CATLocationOuter
For external boundaries.
CATLocationFull
All cells of the domain to create are immersed into the containing cell (non-manifold topology).
CATLocationIn3DSpace
For creation into a body.

A CATDomain is created with the CATBody.CreateDomain method and deleted with the CATICGMContainer.Remove method.


Method Index


o AddCell(CATCell*,CATOrientation)
Adds a CATCell into this CATDomain.
o GetCell(CATLONG32,CATOrientation*)
Returns the given CATCell of this CATDomain.
o GetCellRank(CATCell*,CATOrientation*)
Returns the rank (starting at 1) of the CATCell in this CATomain.
o GetHighDimension()
Returns the dimension of the unique CATCell containing this CATDomain.
o GetLocation(CATTopology*)
Returns the location of this CATDomain.
o GetLowDimension()
Returns the dimension of the CATCells contained into this CATDomain.
o GetNbCellUses()
Returns the number of CATCells used by this CATDomain.
o GetOwningCell(CATBody*)
Returns the unique CATCell that owns this CATDomain in the context of a CATBody.
o Invert()
Reverses the order or the orientation in this domain where the cells are defined.
o IsLyingOn(CATDomain*)
Tests whether this CATDomain is lying on another one.
o Owns(CATCell*,CATSide*)
Tests whether a CATCell belongs to this CATDomain.
o RemoveCell(CATCell*,CATBoolean)
Removes a CATCell from this CATDomain.
o SetLocation(CATLocation)
Sets the default location of this CATDomain.

Methods


o AddCell
public virtual void AddCell(CATCell* iCellToAdd,
CATOrientation iOrientation=CATOrientationPositive )=0
Adds a CATCell into this CATDomain.
Parameters:
iCellToAdd
The pointer to the cell to add.
iOrientation
The cell orientation, with regards to the domain orientation.
o GetCell
public virtual CATCell * GetCell(CATLONG32 iNumCell,
CATOrientation* oOrientation=NULL )=0
Returns the given CATCell of this CATDomain.
The scan is not recursive.
Parameters:
iNumCell
The cell rank (starting at 1).
ioOrientation
A pointer to the cell orientation. If NULL, this argument is not filled out.
Returns:
The pointer to the corresponding cell.
o GetCellRank
public virtual CATLONG32 GetCellRank(CATCell* iCell,
CATOrientation* ioOrientation=NULL )=0
Returns the rank (starting at 1) of the CATCell in this CATomain. .
Parameters:
iCell
The pointer to cell.
ioOrientation
A pointer to the cell orientation. If NULL, this argument is not filled out.
Returns:
The result of the search.
Legal values: 1 if found, 0 if not found.
o GetHighDimension
public virtual short GetHighDimension()=0
Returns the dimension of the unique CATCell containing this CATDomain.
Returns:
The dimension. If the domain is directly referred by a CATBody, it returns 3.
o GetLocation
public virtual CATLocation GetLocation(CATTopology* iBodyOrCell= NULL)=0
Returns the location of this CATDomain.
Parameters:
iBodyOrCell
The pointer to the Body or Cell, this CATDomain belongs to.
Returns:
The location.
Legal values:
CATLocationInner
For internal boundaries (holes into a faces or cavities into a volumes).
CATLocationOuter
For external boundaries.
CATLocationFull
All cells of the domain to create are immersed into the containing cell (non-manifold topology).
CATLocationIn3DSpace
For creation into a body.
o GetLowDimension
public virtual short GetLowDimension()=0
Returns the dimension of the CATCells contained into this CATDomain.
Returns:
The dimension.
o GetNbCellUses
public virtual CATLONG32 GetNbCellUses()=0
Returns the number of CATCells used by this CATDomain.
Returns:
The number of used cells. If one cell is used more than once within the domain, it is counted twice. The scan is not recursive.
o GetOwningCell
public virtual CATCell * GetOwningCell(CATBody* iInBody) const=0
Returns the unique CATCell that owns this CATDomain in the context of a CATBody.
Parameters:
iInBody
The pointer to the body in which the bounded cells are searched. Recall that a same CATCell can be used by several bodies.
Returns:
The pointer to the found CATCell.
o Invert
public virtual void Invert()= 0
Reverses the order or the orientation in this domain where the cells are defined.
Wire, Loop : the edge order is reversed
Shell : the face orientations in the shell are reversed
otherwise : nothing happens

To define a valid loop, the edges must be set counter- clockwise for an outer loop and clockwise for an inner loop.
o IsLyingOn
public virtual CATTopLyingOnDiagnostic IsLyingOn(CATDomain* iDomain) = 0
Tests whether this CATDomain is lying on another one.
Parameters:
iDomain
The pointer to the other domain.
Returns:
The result of the test.
o Owns
public virtual int Owns(CATCell* iCellToTest,
CATSide* ioSide=NULL)=0
Tests whether a CATCell belongs to this CATDomain.
Parameters:
iCellToTest
The pointer to the cell to test.
ioSide
The pointer to the matter side at the boundary. If NULL, this argument is not filled out.
Returns:
How many times iCell bounds this.
o RemoveCell
public virtual void RemoveCell(CATCell* iCellToDetach,
CATBoolean iRemoveFromFactory= FALSE )=0
Removes a CATCell from this CATDomain.
Parameters:
iCellToDetach
The pointer to the cell to detach from thisdomain. However, the cell still remains in the CATGeoFactory in default mode.
iRemoveFromFactory
The action on the detached cell iDomainToDetach. Dedicated to the case where no more CATDomain refers to iCellToDetach.
Legal values:
FALSE
the iCellToDetach remains in the factory
TRUE
the iCellToDetach is removed from the factory with RemoveDependancies management
o SetLocation
public virtual void SetLocation(CATLocation iLocation)=0
Sets the default location of this CATDomain.
Parameters:
iLocation
The location.
Legal values:
CATLocationInner
For internal boundaries (holes into a faces or cavities into a volumes).
CATLocationOuter
For external boundaries.
CATLocationFull
All cells of the domain to create are immersed into the containing cell (non-manifold topology).
CATLocationIn3DSpace
For creation into a body.

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

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