GMOperatorsInterfaces CATICGMTopologicalMatch
Usage: you must use this class as is. You should never derive it.
public class CATICGMTopologicalMatch
Class defining the topological operator that matches parts of skin boundaries.
The skins must be composed of one face, which boundaries are on the surface boundaries.
The matching operation is done with respect to continuity criteria along the
boundaries. If the G0 continuity is imposed on a boundary, the control points of this boundary
are taken into account. If the G1 continuity is imposed, the first rank (on the boundary) and
second rank of control points are taken into account. If the G2 continuity is imposed,
three ranks of control points are taken into account. It is possible to optimize
the modifications of these ranks (SetOptimization), as well as diffuse the modifications
on the whole surface (SetDiffusion).
The CATICGMTopologicalMatch operator can be used in two different match configurations:
- The matching operator deforms the selected boundary edges of the first skin, to be
coincident with boundary edges of other skins, with respect to a given continuity criteria
("multiple sides matching").
- The matching operator deforms both skins that must match along a given edge
("both" matching).
The operator follows the use frame of all operator. It satisfies to the smart mechanism: the
input bodies are not modified. New one are created, possibly sharing data with the input ones.
A CATICGMTopologicalMatch operator is created with the CATCGMCreateTopologicalMatch global function
for the multiple sides matching
and the CATCGMCreateTopologicalMatchBoth global function for the both matching; it must be
directly released with the Release method after use.
It is is not streamable.
- In case of BASIC
mode, the operation is automatically performed at the operator creation.
In case of ADVANCED
mode, options can be precised with the SetXxx methods, before
asking for the computation with the Run method. The advanced mode also allows you to
run the same operator with additional continuity constraints.
- In both cases, the result is accessed with the GetResult method. If you do not want
to keep the resulting body, use the method to remove it from the geometric factory.
Constructor and Destructor Index
- o
CATICGMTopologicalMatch()
- Constructor
Method Index
- o
GetConnectionContinuity(CATLONG32)
- Returns the continuity criteria for this matching operation (ADVANCED mode).
- o
GetDiffusion(CATLONG32)
- Returns the level of diffusion of the deformation on the whole surface (ADVANCED mode).
- o
GetGlobalCurvatureParameter(CATLONG32,double&)
- Retrieves the stiffness on the matching zone in case of both matching and ADVANCED mode.
- o
GetGlobalTangentParameter(CATLONG32,double&)
- Retrieves the stiffness on the matching zone in case of both matching and ADVANCED mode.
- o
GetMatchFactor(CATFrFContinuity)
- Returns the match factor.
- o
GetOppositeSideContinuity(CATLONG32,CATLONG32)
- Returns the continuity criteria on the boundaries that are not part of the boundaries to match (ADVANCED mode).
- o
GetResult(CATLONG32)
- Returns the result of this operator.
- o
ReverseRelativeWireOrientation()
- Asks for reversing the default relative orientation of the wires to match (ADVANCED mode).
- o
ReverseTransitionOrientation(CATLONG32)
- Asks for reversing the default transition between the surface to match (ADVANCED mode).
- o
Run()
- Runs this operator (ADVANCED mode).
- o
SetConnectionContinuity(CATLONG32,CATFrFContinuity)
- Defines the continuity criteria for this matching operation (ADVANCED mode).
- o
SetDefaultRelativeWireOrientation()
- Asks for the default choice of the relative orientation of the wires to match (ADVANCED mode).
- o
SetDefaultTransitionOrientation()
- Asks for the default choice of the transition between the surface to match (ADVANCED mode).
- o
SetDiffusion(CATLONG32,CATLONG32)
- Defines the diffusion of the deformation on the whole surface (ADVANCED mode).
- o
SetGlobalCurvatureParameter(CATLONG32,double)
- Defines a stiffness on the matching zone in case of both matching and ADVANCED mode.
- o
SetGlobalTangentParameter(CATLONG32,double)
- Defines a stiffness on the matching zone in case of both matching and ADVANCED mode.
- o
SetMatchFactor(CATFrFContinuity,double)
- Sets the match factor in case of both matching and ADVANCED mode.
- o
SetOppositeSideContinuity(CATLONG32,CATLONG32,CATFrFContinuity)
- Defines a continuity criteria on the boundaries that are not part of the boundaries to match (ADVANCED mode).
- o
SetOptimization(CATLONG32)
- Asks fot the optimization of the local deformation (ADVANCED mode).
- o
UseTheLastRunResult()
- Defines a new matching operation (ADVANCED mode).
Constructor and Destructor
o CATICGMTopologicalMatch
public CATICGMTopologicalMatch( | ) |
-
Constructor
Methods
o GetConnectionContinuity
public virtual GetConnectionContinuity( | | iWireIndex) |
-
Returns the continuity criteria for this matching operation (ADVANCED mode).
- Parameters:
-
- iWireIndex
- The index (beginning at 0) of the wire on which the continuity criteria is defined.
- Returns:
- The type of continuity for iWireIndex.
o GetDiffusion
public virtual GetDiffusion( | | iSkinIndex) |
-
Returns the level of diffusion of the deformation on the whole surface (ADVANCED mode).
- Parameters:
-
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- Returns:
- The diffusion.
Legal values: 0 for only deform the control points impacted by the continuity criteria, 1 to diffuse
the modifiations on the whole surface.
o GetGlobalCurvatureParameter
public virtual GetGlobalCurvatureParameter( | | iSkinIndex, |
| | ioCurvatureRatio) |
-
Retrieves the stiffness on the matching zone in case of both matching and ADVANCED mode.
- Parameters:
-
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- ioCurvatureRatio
- The global curvature parameter ratio. Can be used for connection continuity greater or equal to G2.
Legal values: 0. <= iCurvatureRatio <= 1.. Set by default to 1..
o GetGlobalTangentParameter
public virtual GetGlobalTangentParameter( | | iSkinIndex, |
| | ioTangentRatio) |
-
Retrieves the stiffness on the matching zone in case of both matching and ADVANCED mode.
- Parameters:
-
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- ioTangentRatio
- The global tangent parameter. Can be used for connection continuity greater or equal to G1.
Legal values: 0. <= iTangentRatio <= 1..
o GetMatchFactor
public virtual GetMatchFactor( | | iContinuity) |
-
Returns the match factor.
- Returns:
- The relative influence of each surface.
Legal values: 0 <= iFactor <= 1 , 0<= iFactor <=0.5 to enhance the influence
the first surface, 0<= iFactor <=0.5 to enhance the influence of the second surface.
o GetOppositeSideContinuity
public virtual GetOppositeSideContinuity( | | iWireIndex, |
| | iSkinIndex) |
-
Returns the continuity criteria on the boundaries that are not part of the boundaries to match (ADVANCED mode).
In case of conflict with the connection continuity, the priority is given to the connection
continuity.
- Parameters:
-
- iWireIndex
- The index (beginning at 0) of the wire to match. The continuity will be defined on the opposite wire.
Remember that the only works on faces with four edges defined on the surface coundaries.
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- Returns:
- The type of continuity for iWireIndex. Set to CATFrFPointCont (G0 continuity), in default mode.
o GetResult
public virtual GetResult( | | iSkinIndex) |
-
Returns the result of this operator.
The bodies are created by the operator.
You must delete them with the
method if you do not want to keep them.
- Parameters:
-
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- Returns:
- The pointer to the created body corresponding to the deformation of the iSkinIndex surface.
o ReverseRelativeWireOrientation
public virtual ReverseRelativeWireOrientation( | ) |
-
Asks for reversing the default relative orientation of the wires to match (ADVANCED mode).
This can used to manualy manage the twist.
o ReverseTransitionOrientation
public virtual ReverseTransitionOrientation( | | iSkinIndex) |
-
Asks for reversing the default transition between the surface to match (ADVANCED mode).
o Run
-
Runs this operator (ADVANCED mode).
o SetConnectionContinuity
public virtual SetConnectionContinuity( | | iWireIndex, |
| | iContinuity) |
-
Defines the continuity criteria for this matching operation (ADVANCED mode).
- Parameters:
-
- iWireIndex
- The index (beginning at 0) of the wire on which the continuity criteria is defined.
- iContinuity
- The type of continuity for iWireIndex. Set to CATFrFPointCont (G0 continuity), in default mode.
o SetDefaultRelativeWireOrientation
public virtual SetDefaultRelativeWireOrientation( | ) |
-
Asks for the default choice of the relative orientation of the wires to match (ADVANCED mode).
o SetDefaultTransitionOrientation
public virtual SetDefaultTransitionOrientation( | ) |
-
Asks for the default choice of the transition between the surface to match (ADVANCED mode).
o SetDiffusion
public virtual SetDiffusion( | | iSkinIndex, |
| | iDiffusion) |
-
Defines the diffusion of the deformation on the whole surface (ADVANCED mode).
- Parameters:
-
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- iDiffusion
- The diffusion.
Legal values: 0 for only deform the control points impacted by the continuity criteria
(default value), 1 to diffuse the modifiations on the whole surface.
o SetGlobalCurvatureParameter
public virtual SetGlobalCurvatureParameter( | | iSkinIndex, |
| | iCurvatureRatio) |
-
Defines a stiffness on the matching zone in case of both matching and ADVANCED mode.
- Parameters:
-
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- iCurvatureRatio
- The global curvature parameter ratio. Can be used for connection continuity greater or equal to G2.
Legal values: 0. <= iCurvatureRatio <= 1.. Set by default to 1..
o SetGlobalTangentParameter
public virtual SetGlobalTangentParameter( | | iSkinIndex, |
| | iTangentRatio) |
-
Defines a stiffness on the matching zone in case of both matching and ADVANCED mode.
- Parameters:
-
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- iTangentRatio
- The global tangent parameter ratio. Can be used for connection continuity greater or equal to G1.
Legal values: 0. <= iTangentRatio <= 1.. Set by default to 1..
o SetMatchFactor
public virtual SetMatchFactor( | | iContinuity, |
| | iFactor) |
-
Sets the match factor in case of both matching and ADVANCED mode.
- Parameters:
-
- iContinuity
- The continuity order on the boundary
- iFactor
- The relative influence of each surface.
Legal values: 0 <= iFactor <= 1 , 0<= iFactor <=0.5 to enhance the influence
the first surface, 0<= iFactor <=0.5 to enhance the influence of the second surface.
Set to 0.5 by default.
o SetOppositeSideContinuity
public virtual SetOppositeSideContinuity( | | iWireIndex, |
| | iSkinIndex, |
| | iContinuity) |
-
Defines a continuity criteria on the boundaries that are not part of the boundaries to match (ADVANCED mode).
In case of conflict with the connection continuity, the priority is given to the connection
continuity.
- Parameters:
-
- iWireIndex
- The index (beginning at 0) of the wire to match. The continuity will be defined on the opposite wire.
Remember that the only works on faces with four edges defined on the surface coundaries.
- iSkinIndex
- The index of the input surface.
Legal values:
- In case of multiple sides matching, only the first skin is modified, such that iSkinIndex=0.
- In case of both matching,iSkinIndex=0 is set for the first input skin,
iSkinIndex=1 is set for the second one.
- iContinuity
- The type of continuity for iWireIndex. Set to CATFrFPointCont (G0 continuity), in default mode.
o SetOptimization
public virtual SetOptimization( | | iOptimization) |
-
Asks fot the optimization of the local deformation (ADVANCED mode).
- Parameters:
-
- iOptimization
- The optimization is set with 1 (default mode) and unset with 0.
o UseTheLastRunResult
public virtual UseTheLastRunResult( | ) |
-
Defines a new matching operation (ADVANCED mode).
The result of the preceeding Run is set for the next run. This allows you to refine the continuity
criteria of the matching. Use the Setxxx methods to tune the criteria, and Run again
the operator. New resulting bodies are created.
This object is included in the file: CATICGMTopologicalMatch.h
If needed, your Imakefile.mk should include the module: CATGMOperatorsInterfaces
Copyright © 1999-2015, Dassault Systèmes. All rights reserved.