All Frameworks Class Hierarchy This Framework Previous Next Indexes
GeometricOperators Class CATIntersectionSurSur
Mathematics.CATCGMVirtual
|
+---GeometricObjects.CATCGMOperator
|
+---GeometricOperators.CATGeoOperator
|
+---CATIntersectionSurSur
Usage: you must use this class as is. You should never derive it.
public class CATIntersectionSurSur
Class defining the operator of the intersection of two surfaces.
The operator outputs the isolated solutions (points, curves) and the
overlapping solutions (surfaces).
- The CATIntersectionSurSur operator is created with the CreateIntersection method and
directly deleted with the usual C++ delete operator.
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.
- In both cases, the result is accessed with specific interators, one for the solution points,
another for the solution curves and a last one for the solution surfaces.
Constructor and Destructor Index
- o
~CATIntersectionSurSur()
- Destructor.
Method Index
- o
BeginningCurve()
- Initializes the iterator of the solution curves of this
CATIntersectionSurSur operator.
- o
BeginningPoint()
- Initializes the iterator of the resulting points.
- o
BeginningSurface()
- Initializes the iterator of the solution surfaces.
- o
GetCartesianPoint()
- Creates the next solution point of this CATIntersectionSurSur operator.
- o
GetCurve()
- Creates the next solution curve of this CATIntersectionSurSur operator.
- o
GetEdgeCurve()
- Creates the next solution curve as an edge curve.
- o
GetEdgeCurve(CATPointOnEdgeCurve*&,CATPointOnEdgeCurve*&)
- Creates the next solution curve as an edge curve.
- o
GetNumberOfCurves()
- Returns the number of solution curves.
- o
GetNumberOfPoints()
- Returns the number of solution points.
- o
GetNumberOfSurfaces()
- Returns the number of solution surfaces.
- o
GetPCurve(CATLONG32)
- Creates the next solution curve
as a CATPCurve pointer.
- o
GetPCurve(CATSurface*)
- Creates the next solution curve of this CATIntersectionSurSur operator.
- o
GetPointOnSurface(CATSurface*)
- Creates the next solution point on a surface of this CATIntersectionSurSur operator.
- o
GetSignatureOn(CATSurface*)
- Returns the signature of the intersection edge with regards to the surface normals.
- o
GetSurParam(CATSurParam&,CATSurParam&)
- Retrieves the parameters on each surface of the next solution point of this CATIntersectionSurSur operator.
- o
GetSurfaceBoundaries(CATIntersectionOrientation**,CATIntersectionOrientation*,CATIntersectionOrientation*)
- Returns the boundaries of the next solution surface.
- o
GetSurfaceBoundaries(CATSurface*,CATIntersectionOrientation**,CATIntersectionOrientation*)
- Returns the boundaries of the next solution surface.
- o
NextCurve()
- Skips to the next solution curve of this CATIntersectionSurSur operator.
- o
NextPoint()
- Skips to the next solution point of this CATIntersectionSurSur operator.
- o
NextSurface()
- Skips to the next solution surface of this CATIntersectionSurSur operator.
- o
SetLimits(CATSurLimits*,CATSurLimits*)
- Modifies the surface domains to take into account for this
CATIntersectionSurSur operator (ADVANCED mode).
Constructor and Destructor
o ~CATIntersectionSurSur
public virtual ~CATIntersectionSurSur( | ) |
-
Destructor.
Methods
o BeginningCurve
public virtual void BeginningCurve( | )= 0 |
-
Initializes the iterator of the solution curves of this
CATIntersectionSurSur operator.
By default, the initialization is performed once the operator runs,
and this is therefore only used to read the solutions again.
o BeginningPoint
public virtual void BeginningPoint( | )= 0 |
-
Initializes the iterator of the resulting points.
By default, the initialization is performed once the operator runs,
and this is therefore only used to read the solutions again.
o BeginningSurface
public virtual void BeginningSurface( | )= 0 |
-
Initializes the iterator of the solution surfaces.
By default, the initialization is performed once the operator runs,
and this is therefore only used to read the solutions again.
o GetCartesianPoint
-
Creates the next solution point of this CATIntersectionSurSur operator.
- Returns:
- The pointer to the created point. A new point is created each time this method is called.
If you do not want to keep the created point, use the
CATICGMContainer.Remove method.
o GetCurve
-
Creates the next solution curve of this CATIntersectionSurSur operator.
- Returns:
- The pointer to the created curve. A new curve is created each time this method is called.
If you do not want to keep the created curve, use the
CATICGMContainer.Remove method.
o GetEdgeCurve
-
Creates the next solution curve as an edge curve.
- Returns:
- The pointer to the created edge curve, composed of a part of the two curves lying on each surface.
A new curve is created each time this method is called.
If you do not want to keep the created curve, use the
CATICGMContainer.Remove method.
o GetEdgeCurve
-
Creates the next solution curve as an edge curve.
- Parameters:
-
- oP1
- The pointer to the created point representing the first extremity of the solution curve.
A new point is created each time this method is called.
If you do not want to keep the created point, use the
CATICGMContainer.Remove method.
- oP2
- The pointer to the created point representing the last extremity of the solution curve.
A new point is created each time this method is called.
If you do not want to keep the created point, use the
CATICGMContainer.Remove method.
- Returns:
- The pointer to the created edge curve, composed of a part of the two curves lying on each surface.
A new curve is created each time this method is called.
If you do not want to keep the created curve, use the
CATICGMContainer.Remove method.
o GetNumberOfCurves
public virtual CATLONG32 GetNumberOfCurves( | )const = 0 |
-
Returns the number of solution curves.
- Returns:
- The number of solutions.
o GetNumberOfPoints
public virtual CATLONG32 GetNumberOfPoints( | )const = 0 |
-
Returns the number of solution points.
- Returns:
- The number of solutions.
o GetNumberOfSurfaces
public virtual CATLONG32 GetNumberOfSurfaces( | )const = 0 |
-
Returns the number of solution surfaces.
- Returns:
- The number of solutions.
o GetPCurve
-
Creates the next solution curve
as a CATPCurve pointer.
Creates the object if necessary.
- Parameters:
-
- iIndexOperand
-
- 0
- on the first surface operand
- 1
- on the second surface operand
o GetPCurve
-
Creates the next solution curve of this CATIntersectionSurSur operator.
- Parameters:
-
- iSurface
- The pointer to the surface on which the curve is created.
- Returns:
- The pointer to the created curve on surface. A new curve is created each time this method is called.
If you do not want to keep the created curve, use the
CATICGMContainer.Remove method.
o GetPointOnSurface
-
Creates the next solution point on a surface of this CATIntersectionSurSur operator.
- Parameters:
-
- iSurface
- The pointer to one of the intersecting surface.
- Returns:
- The pointer to the created point on surface. A new point is created each time this method is called.
If you do not want to keep the created point, use the
CATICGMContainer.Remove method.
o GetSignatureOn
-
Returns the signature of the intersection edge with regards to the surface normals.
- Parameters:
-
- iSurface
- The pointer to the surface (first or second operand) for which the signature
is returned.
- Returns:
- The signature on iSurface such that:
Let the natural way of the intersection edge at the starting point being
such that the tangent at this point has the same direction as the
vector product of the normals of each surface.
Consider that the surface normal represents the outside of the matter
delimited by a surface. A positive signature implies that the resulting
matter of the intersection is on the edge left.
- CATIntersectionSignPositive
- The resulting
matter of the intersection is on the edge left.
- CATIntersectionSignNegative
- The resulting
matter of the intersection is on the edge right.
o GetSurParam
-
Retrieves the parameters on each surface of the next solution point of this CATIntersectionSurSur operator.
- Parameters:
-
- ioSurParam1
- The parameter on the first surface.
- ioSurParam2
- The parameter on the second surface.
o GetSurfaceBoundaries
-
Returns the boundaries of the next solution surface.
The boundaries are given on both input surfaces.
- Parameters:
-
- oListOfPCurvesOrientation
- The array of pointers to the relative orientation of each PCurve (on the first input surface,
then on the second input surface) with respect to the loop.
If NULL, this is not output. This array is allocated by the method, you
have to delete it after use.
Legal values:
- CATIntersectionOrientationOpposite
- The orientation of the curve and the loop are opposite.
- CATIntersectionOrientationSame
- The loop and the curve have the same orientation.
- oContourOrientation1
- The relative orientation of the loop generated by the CATPCurves and the first input surface.
If NULL, this is not output.
Legal values:
- CATIntersectionOrientationOpposite
- The orientation of the first input surface and the loop are opposite.
- CATIntersectionOrientationSame
- The first input surface and the loop have the same orientation.
- oContourOrientation2
- The relative orientation of the loop generated by the CATPCurves and the second input surface.
If NULL, this is not output.
Legal values:
- CATIntersectionOrientationOpposite
- The orientation of the second input surface and the loop are opposite.
- CATIntersectionOrientationSame
- The second input surface and the loop have the same orientation.
- Returns:
- The list of the edge curves defining the boundary,
each edge curve representing the PCurves on each input surface.
o GetSurfaceBoundaries
-
Returns the boundaries of the next solution surface.
The boundaries are given on one input surface.
- Parameters:
-
- iSurface
- The pointer to the surface on which the curves are defined.
- oListOfPCurvesOrientation
- The array of pointers to the relative orientation of each PCurve with respect to the loop.
If NULL, this is not output. This array is allocated by the method, you
have to delete it after use.
Legal values:
- CATIntersectionOrientationOpposite
- The orientation of the curve and the loop are opposite.
- CATIntersectionOrientationSame
- The loop and the curve have the same orientation.
- oContourOrientation
- The relative orientation of the loop generated by the CATPCurves and iSurface.
If NULL, this is not output.
Legal values:
- CATIntersectionOrientationOpposite
- The orientation of iSurface and the loop are opposite.
- CATIntersectionOrientationSame
- iSurface and the loop have the same orientation.
- Returns:
- The list of the curves defining the boundary on iSurface.
o NextCurve
-
Skips to the next solution curve of this CATIntersectionSurSur operator.
After BeginningCurve, it skips to the first curve.
- Returns:
- The existence of the next solution.
Legal values:
- TRUE
- if there is a solution curve
- FALSE
- no more solution curve.
o NextPoint
-
Skips to the next solution point of this CATIntersectionSurSur operator.
After BeginningPoint, it skips to the first point.
- Returns:
- The existence of the next solution.
Legal values:
- TRUE
- if there is a solution point
- FALSE
- no more solution point.
o NextSurface
-
Skips to the next solution surface of this CATIntersectionSurSur operator.
After BeginningSurface, it skips to the first surface.
- Returns:
- The existence of the next solution.
Legal values:
- TRUE
- if there is a solution surface
- FALSE
- no more solution surface.
o SetLimits
-
Modifies the surface domains to take into account for this
CATIntersectionSurSur operator (ADVANCED mode).
It does not change the current surface limitations.
- Parameters:
-
- iNewLimitsForSurface1
- The pointer to the new domain of the first surface. If NULL, the current limitation of the first
curve is used.
- iNewLimitsForSurface2
- The pointer to the new domain of the second surface. If NULL, the current limitation of the second
curve is used.
This object is included in the file: CATIntersectionSurSur.h
If needed, your Imakefile.mk should include the module: CATGeometricOperators