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:
- a vertex can border:
- an egde (the vertex is one of the edge extremities)
- a face ( the vertex is immersed into the face:
non manifold case -> CATVertexInFace domain )
- a volume or a body ( the vertex is immersed into the volume:
non manifold case -> CATVertexInVolume domain)
- an edge can border:
- a face ( the edge is one of the face borders
-> CATLoop domain)
- a face ( the edge is immersed into the face:
non manifold case -> CATLoop domain)
- a volume or a body( the edge is immersed into the volume:
non manifold case -> CATWire domain)
- an face can border (-> CATShell domain ):
- a volume ( the face is one of the volume borders)
- a volume ( the face is immersed into the volume:
non manifold case)
- a CATLump is a domain of dimension 3.
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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.