GeometricObjects Interface CATEdgeCurve

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATEdgeCurve

Interface defining a curve representing several other curves.
Role: A CATEdgeCurve is the geometry of a topological edge. As an edge can bound several faces (with different geometry), a CATEdgeCurve is a curve that presents a common behavior for several curves.
The aggregation of the CATPCurves resulting of an intersection leads to a CATIntCurve, the aggregation of identical CATCurves leads to a CATSimCurve and the aggregation of CATCurves with different limits or parameterizations leads to a CATMergedCurve. To create a CATMergedCurve, use the operator.
The aggregation is a recursive notion, and you can aggregate CATEdgeCurves.
One aggregated curve plays a special role: its manages the evaluations and is called the reference curve.


Method Index


o Compare(CATLONG32,CATCurve*[],CATCrvParam[],CATCrvParam&,CATPositiveLength*)
Checks whether points can be merged within the same CATPointOnEdgeCurve.
o GetEquivalentParam(CATLONG32,CATCurve*[],CATCrvParam[],CATCrvParam&)
Returns the parameter on this EdgeCurve corresponding to the point defined by parameters on its components.
o GetEquivalentPoint(CATCrvParam&,CATCurve*,CATCurve*,CATCrvParam&,short)
Reports a point from a curve to another one.
o GetMaxGap()
Returns a length larger than the distance between any couple of corresponding evaluated points on all subcurves.
o GetRefCurve()
Returns the reference curve of this CATEdgeCurve.
o GetRelativeOrientation(CATCurve*)
Retrieves the parametric orientation of a CATCurve with regards to the orientation of this CATEdgeCurve.
o GetSharpness(CATPCurve*,CATPCurve*,CATGeoContinuity*,CATGeoConvexity*)
Retrieves the sharpness between the underlying surfaces of two CATPCurves.
o Next(CATCurve*)
Scans the CATCurves represented by this CATEdgeCurve.
o NextThru(CATCurve*)
o SetSharpness(CATPCurve*,CATPCurve*,CATGeoContinuity,CATGeoConvexity)
Imposes the sharpness between the underlying surfaces of two CATPCurves.

Enumerated Type Index


o CATCompareDiagnostic
The confusion diagnosis of a point on an CATEdgeCurve.

Methods


o Compare
public virtual Compare( const iNbOfCurves,
const iCurves,
const iParams,
ioSuggestedParam,
ioGap= NULL)
Checks whether points can be merged within the same CATPointOnEdgeCurve.
Parameters:
iNbOfCurves
The number of CATCurves.
iCurves[]
The array of iNbOfCurves CATCurve pointers.
iParams[]
The corresponding parameters of the points to merge.
ioSuggestedParam
The parameter of the corresponding point on this CATEdgeCurve.
ioGap
The maximum distance between the points. If NULL, this distance is not output.
Returns:
The diagnosis of confusion.
o GetEquivalentParam
public virtual GetEquivalentParam( const iNbOfCurves,
const iCurves,
const iParams,
ioCalcParam)
Returns the parameter on this EdgeCurve corresponding to the point defined by parameters on its components.
Parameters:
iNbOfCurves
The number of CATCurves.
iCurves[]
The array of iNbOfCurves CATCurve pointers.
iParams[]
The corresponding parameters on the CATCurves.
ioCalcParam
The parameter of the point on this CATEdgeCurve.
o GetEquivalentPoint
public virtual GetEquivalentPoint( const iParamOnCurrentCurve,
const iCurrentCurveOrEdgeCurve,
const iEquivalentCurve,
ioParamOnEquivalentCurve,
iConverge=1)
Reports a point from a curve to another one.
Parameters:
iParamOnCurrentCurve
The parameter on iCurrentCurveOrEdgeCurve.
iCurrentCurveOrEdgeCurve
The initial CATCurve.
iEquivalentCurve
The CATCurve on which the point is to be expressed.
ioParamOnEquivalentCurve
The equivalent parameter on iEquivalentCurve.
iConverge
The type of computation.
Legal values:
1
An exact computation.
0
An approximated (and faster) computation.
o GetMaxGap
public virtual GetMaxGap()
Returns a length larger than the distance between any couple of corresponding evaluated points on all subcurves.
Returns:
The gap between the curves. If the gap is 0., returns the same value whatever the subcurve it applies to. The gap of an CATIntCurve is always 0., because the evaluators always return an exact value in this case. However, the equation of a CATIntCurve may not return an exact solution.
o GetRefCurve
public virtual GetRefCurve()
Returns the reference curve of this CATEdgeCurve.
The reference curve manages the evaluations.
Returns:
A pointer to the curve of this CATEdgeCurve.
o GetRelativeOrientation
public virtual GetRelativeOrientation( const iCurrentCurve)
Retrieves the parametric orientation of a CATCurve with regards to the orientation of this CATEdgeCurve.
Parameters:
iCurrentCurve
A pointer to a curve of this CATEdgeCurve.
Returns:
The relative orientation
1
this and iCurrentCurve have the same orientation.
-1
this and iCurrentCurve have an opposite orientation.
o GetSharpness
public virtual GetSharpness( const iC1,
const iC2,
ioContinuity,
ioConvexity=0)
Retrieves the sharpness between the underlying surfaces of two CATPCurves.
Parameters:
iC1
A pointer to the first CATPCurve.
iC2
A pointer to the second CATPCurve.
ioContinuity
The tangential continuity.
ioConvexity
The tangential convexity. If NULL, this argument is not written.
o Next
public virtual Next( const iCurrentSubElement)
Scans the CATCurves represented by this CATEdgeCurve.
Parameters:
iCurrentSubElement
The pointer to the CATCurve from which the search is initialized, may be NULL for retrieving the first CATCurve.
Returns:
The pointer to the next CATCurve of the aggregation. Remember that a CATEdgeCurve is also a CATCurve.
Sample: Search of all CATCurves of a CATEdgeCurve.
 
 const CATCurve * Current=NULL
 while (Current = MyEdgeCurve->Next(Current) ) 
  { ... process Current ... }
o NextThru
public virtual NextThru( const iCurrentSubElement)
Deprecated:
V5R12 CATEdgeCurveIterator Recursively scans the CATCurves of this CATEdgeCurve, without returning the imbedded CATEdgeCurves.
Parameters:
iCurrentSubElement
The pointer to the CATCurve from which the search is initialized, may be NULL for retrieving the first CATCurve.
Returns:
The pointer to the next CATCurve (not being a CATEdgeCurve) of the aggregation.
o SetSharpness
public virtual SetSharpness( const iC1,
const iC2,
const iContinuity,
const iConvexity= CATUnknownConvexity)
Imposes the sharpness between the underlying surfaces of two CATPCurves.
Parameters:
iC1
A pointer to the first CATPCurve.
iC2
A pointer to the second CATPCurve.
iContinuity
The tangential continuity to impose.
iConvexity
The tangential convexity to impose.

Enumerated Types


o CATCompareDiagnostic
enum CATCompareDiagnostic {
  Equal,
  Similar,
  Distinct
}
The confusion diagnosis of a point on an CATEdgeCurve.
Parameters:
Equal
Same geometrical points with same parameter.
Similar
Same geometrical points with different parameters.
Distinct
Distinct geometrical points.

This object is included in the file: CATEdgeCurve.h
If needed, your Imakefile.mk should include the module: CATGMGeometricInterfaces

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.