GeometricObjects CATTransfoManager
Usage: you must use this class as is. You should never derive it.
public class CATTransfoManager
Class representing the process of geometric transformation of a CATGeometry.
- The transformation process takes the forward links into account
- A CATTransfoManager can process several CATGeometry at the same time.
- If the transformation is linear, a CATTransfoManager has two modes of transformation:
- CATTransfoManager::Duplicate
- Duplicates and transforms the objects
that are Added to the CATTransfoManager
- CATTransfoManager::Replace
- Only transforms the objects
that are Added to the CATTransfoManager.
- A CATTransfoManager does not duplicate or replace a forward linked object
if it is geometrically invariant by the transformation,
except if this forward linked object
is specifically Added to the CATTransfoManager. Invariant means that
it is invariant within its maximum limits. A line is invariant
by a transformation along its direction, a circle is invariant by a rotation
of center the center of the circle, as examples.
A CATTransfoManager duplicates or replaces a forward linked object
if it is not geometrically invariant by the transformation
- A CATTransfoManager offers two types of methods:
- "user methods" that are called by the application programmer
to transform CATGeometry: Add, Run
- "object methods" that are called by the CATGeometry to
ask for the transformation of their forward linked objects.
These methods must not be normally called,
except in the CATGeometry::Move3D and
CATGeometry::CloneAndMove3D methods,
if you intend to create your own CATGeometry class.
- The objects of this class are temporary and cannot be streamed
Constructor and Destructor Index
- o
CATTransfoManager(CATMathTransformation&,CATGeoFactory*,CATTransfoManagerType,CATSoftwareConfiguration*)
- Constructs a CATTransfoManager for linear transformation.
- o
~CATTransfoManager()
-
Method Index
- o
Add(CATICGMObject*,CATICGMObject*)
- Adds a CATGeometry to transform with this CATTransfoManager.
- o
GetMathTransformation(CATMathTransformation*&)
- Retrieves the CATMathTransformation associated with this
CATTransfoManager.
- o
Run()
- Runs the CATTransfoManager process.
- o
SetTransfoUV(CATSurface*,CATMathTransformation2D&)
- Associates a CATMathTransformation2D to a Surface to apply it on CATGeometry
that points to it.
- o
SetTransfoW(CATCurve*,CATMathTransformation1D&)
- Associates a CATMathTransformation1D to a curve to apply it on CATGeometry
that points to it.
Enumerated Type Index
- o
CATTransfoManagerType
- Defines the mode of the transformation process.
Constructor and Destructor
o CATTransfoManager
public CATTransfoManager( | const | iMathTransfo, |
| | iFactory, |
| | iMode | = Duplicate, |
| | iConfig | = NULL) |
-
Constructs a CATTransfoManager for linear transformation.
- Parameters:
-
- iMathTransfo
- The transformation to apply.
- iFactory
- A pointer to the factory of the resulting objects
- iType
- The mode of the transformation process.
- iConfig
- The pointer to the configuration.Should not be NULL in case of topological objects.
o ~CATTransfoManager
public virtual ~CATTransfoManager( | ) |
-
Methods
o Add
public Add( | | iObjectToTransform, |
| | iTransformedObject | = 0) |
-
Adds a CATGeometry to transform with this CATTransfoManager.
All the added objects must belong
to the same factory.
- Parameters:
-
- iObjectToTransform
- A pointer to the CATGeometry to add to the CATTransfoManager.
- iTransformedObject
- If not NULL, it forces the transformation of iObjectToTransform to be
the object iTransformedObject. This must be compatible with the
given transformation of the CATTransfoManager.
o GetMathTransformation
public GetMathTransformation( | | oMathTransfo) |
-
Retrieves the CATMathTransformation associated with this
CATTransfoManager.
- Parameters:
-
- oMathTransfo
- The associated transformation. This is part of the class and must not be deleted.
o Run
-
Runs the CATTransfoManager process.
This method should be called only once.
o SetTransfoUV
public SetTransfoUV( | | iIn, |
| | iTransfo2D) |
-
Associates a CATMathTransformation2D to a Surface to apply it on CATGeometry
that points to it.
This is especially usefull together with the Add method to replace a transformed surface by another
surface confused with it.
If it is not the case , the generated model will not be valid.
- Parameters:
-
- iIn
- A pointer to the input surface.
- iTransfo2D
- The 2D transformation on the surface corresponding to the 3D transformation defined by this.
o SetTransfoW
public SetTransfoW( | | iIn, |
| | iTransfo1D) |
-
Associates a CATMathTransformation1D to a curve to apply it on CATGeometry
that points to it.
This is especially usefull together with the Add method to replace a transformed curve by another curve
confused with it.
If it is not the case , the generated model will not be valid.
- Parameters:
-
- iIn
- A pointer to the input curve.
- iTransfo1D
- The 1D transformation on the curve corresponding to the 3D transformation defined by this.
Enumerated Types
o CATTransfoManagerType
-
enum CATTransfoManagerType {
Duplicate,
FullDuplicate,
Replace
}
Defines the mode of the transformation process.
- Parameters:
-
- CATTransfoManager::Duplicate
- Duplicates and transforms the objects
that are Added to the CATTransfoManager.
Does not duplicate a forward linked object
if it is geometrically invariant by the transformation,
except if this forward linked object
is specifically Added to the CATTransfoManager.
Duplicates a forward linked object
if it is not geometrically invariant by the transformation.
- CATTransfoManager::FullDuplicate
- Duplicates and transforms the objects
that are Added to the CATTransfoManager.
Duplicates a forward linked object
even if it is geometrically invariant by the transformation,
- CATTransfoManager::Replace
- Only transforms the objects
that are Added to the CATTransfoManager.
Does not replace a forward linked object
if it is geometrically invariant by the transformation,
except if this forward linked object
is specifically Added to the CATTransfoManager.
Replaces a forward linked object
if it is not geometrically invariant by the transformation.
Invariant means that it is invariant within its maximum limits. An line is invariant
by a transformation along its direction, a circle is invariant by a rotation
of center the center of the circle, as examples.
This object is included in the file: CATTransfoManager.h
If needed, your Imakefile.mk should include the module: CATGeometricObjects
Copyright © 1999-2014, Dassault Systèmes. All rights reserved.