All Frameworks Class Hierarchy This Framework Previous Next Indexes
TopologicalOperators Class CATTopTangentCurveOperator
Mathematics.CATCGMVirtual
|
+---GeometricObjects.CATCGMOperator
|
+---NewTopologicalObjects.CATTopOperator
|
+---NewTopologicalObjects.CATTopMultiResult
|
+---CATTopTangentCurveOperator
Usage: you must use this class as is. You should never derive it.
public class CATTopTangentCurveOperator
Class of the topological operators that create the bodies tangent to other bodies.
This class is the base class for some supplied operators, but you must not derive it yourself.
This operator follows the general scheme of the topological operators producing several resulting bodies:
- Create the operator with the appropriate global function
- Set the parameters
- Run
- Get the resulting bodies (use the iterator on the resulting bodies, because
several line bodies can result from the computation)
- Delete the operator with the usual C++ delete operator.
- See also:
- CATTopMultiResult
Method Index
- o
GetCurvatureOrientation(int)
- Returns the curvature orientation of the resulting line bodie.
- o
GetDiscriminationIndex(int&)
- Defines an index to distinguish the current resulting line body.
- o
GetOrientationOnWire(int&,int&,int&,int)
- Defines the orientation of the current resulting line body.
- o
GetResultWithConditions(CATOrientation*,CATOrientation*,int,CATBoolean&,CATBoolean&,CATCGMJournalList*)
- Creates the nearest line from conditions.
- o
GetTangentOrientation(int)
- Returns the tangent orientation of the current resulting line body.
- o
SetCurvatureOrientation(int,int)
- Defines the curvature orientation of the resulting line bodies to output.
- o
SetTangentOrientation(int,int)
- Defines the tangent orientation of the resulting line bodies to output.
Methods
o GetCurvatureOrientation
public int GetCurvatureOrientation( | int | iRankWire | =1) const |
-
Returns the curvature orientation of the resulting line bodie.
- Returns:
- The curvature orientation with regards to the iRankWire-th input body.
Legal values:
- 1
- The resulting line body is on the side of the
vector product of the normal to the shell and the tangent to the itself
- -1
- The resulting line body is on the opposite side of the
vector product of the normal to the shell and the tangent to the itself
o GetDiscriminationIndex
public virtual void GetDiscriminationIndex( | int& | ioIndex) |
-
Defines an index to distinguish the current resulting line body.
To call after the Run method,
during the iterative step of the result recovery, see
CATTopMultiResult .
Several resulting tangent line bodies produced by the operator can be same oriented
regarding to the input wire bodies. In such a case, they are sorted by length in order to
distinguish them.
- Parameters:
-
- ioIndex
- The index value in the list of same oriented (in tangent and curvature) resulting line bodies.
o GetOrientationOnWire
public virtual void GetOrientationOnWire( | int& | ioTangentOrient, |
| int& | ioCurvatureOrient, |
| int& | ioIdem, |
| int | iRankWire | =1) |
-
Defines the orientation of the current resulting line body.
To call after the Run method,
during the iterative step of the result recovery, see
CATTopMultiResult .
- Parameters:
-
- ioTangentOrient
- The tangent orientation with regards to the iRankWire-th input body.
Legal values:
- 0
- All the resulting line bodies are output
- 1
- Are kept the resulting line bodies whose orientation is the same as
the orientation of the iRankWire-th input body
- -1
- Are kept the resulting line bodies whose orientation is opposite to
the orientation of the iRankWire-th input body
- ioCurvatureOrient
- The curvature orientation with regards to the iRankWire-th input body.
Legal values:
- 0
- All the resulting line bodies are output
- 1
- Are kept the resulting line bodies that are on the side of the
vector product of the normal to the shell and the tangent to the resulting line body
- -1
- Are kept the resulting line bodies that are on the opposite side of the
vector product of the normal to the shell and the tangent to the resulting line body
- ioIdem
- The test of whether the current resulting line body can be distinguished from another one.
Legal values:
- 0
- If the current resulting line body can be distinguished in terms of orientations from
the other resulting line bodies
- 2
- If the current resulting line body has the same orientations than another resulting line body
and its length is equal (at the factory resolution)
to the length of at least one of them.
- iRankWire
- The rank of the input body to consider.
Legal values: iRankWire=1 in case of CATTopLineTangentPtCrvOperator,
1 <= iRankWire <= 2 in case of CATTopLineTangentCrvCrvOperator.
o GetResultWithConditions
-
Creates the nearest line from conditions.
- Parameters:
-
- iCrvOr
- The array of two curvature orientations for first and second input body.
Acceptables values: 0,-1,1. Use 0 if you don't want to use this condition.
- iTngOr
- The array of two tangent orientations between the line result and the first and second input body.
Acceptables values: 0,-1,1. Use 0 if you don't want to use this condition.
- oUseOrientationCondition
- Return TRUE if the line solution use the orientation condition.
- oUseIndexCondition
- Return TRUE if the line solution use the index condition.
- CurJourn
- The pointer to the journal corresponding to the creation of the current line.
If NULL, the journal is not written.
- Returns:
- The pointer to the created body, or NULL if we cannot find it. If you do not want to keep it,
use the @CATICGMContainer#Remove method to remove it from the geometric factory, after the deletion
of this operator.
Put the iterator of the resulting lines on the solution.
o GetTangentOrientation
public int GetTangentOrientation( | int | iRankWire | =1) const |
-
Returns the tangent orientation of the current resulting line body.
- Returns:
- The tangent orientation with regards to the iRankWire-th input body.
Legal values:
- 1
- The resulting line body has the same orientation as
the iRankWire-th input body
- -1
- The resulting line body has the opposite orientation to
the iRankWire-th input body
o SetCurvatureOrientation
public void SetCurvatureOrientation( | int | iCurvatureOrientation, |
| int | iIWire | =1) |
-
Defines the curvature orientation of the resulting line bodies to output.
To call before the Run method.
- Parameters:
-
- iTangentOrientation
- The curvature orientation with regards to the iRankWire-th input body.
Legal values:
- 0
- All the resulting line bodies are output
- 1
- Are kept the resulting line bodies that are on the side of the
vector product of the normal to the shell and the tangent to the resulting line body
- -1
- Are kept the resulting line bodies that are on the opposite side of the
vector product of the normal to the shell and the tangent to the resulting line body
- iRankWire
- The rank of the input body to consider.
Legal values: iRankWire=1 in case of CATTopLineTangentPtCrvOperator,
1 <= iRankWire <= 2 in case of CATTopLineTangentCrvCrvOperator.
o SetTangentOrientation
public void SetTangentOrientation( | int | iTangentOrientation, |
| int | iRankWire | =1) |
-
Defines the tangent orientation of the resulting line bodies to output.
To call before the Run method.
- Parameters:
-
- iTangentOrientation
- The tangent orientation with regards to the iRankWire-th input body.
Legal values:
- 0
- All the resulting line bodies are output
- 1
- Are kept the resulting line bodies whose orientation is the same as
the orientation of the iRankWire-th input body
- -1
- Are kept the resulting line bodies whose orientation is opposite to
the orientation of the iRankWire-th input body
- iRankWire
- The rank of the input body to consider.
Legal values: iRankWire=1 in case of CATTopLineTangentPtCrvOperator,
1 <= iRankWire <= 2 in case of CATTopLineTangentCrvCrvOperator.
This object is included in the file: CATTopTangentCurveOperator.h
If needed, your Imakefile.mk should include the module: CATTopologicalOperators