All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

GeometricObjects Interface CATEdgeCurve

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---GeometricObjects.CATICGMUnknown
        |
        +---GeometricObjects.CATICGMObject
          |
          +---GeometricObjects.CATGeometry
            |
            +---GeometricObjects.CATCurve
              |
              +---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 CATEdgeCurveComputation 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 CATEdgeCurve::CATCompareDiagnostic Compare( const CATLONG32 iNbOfCurves,
const CATCurve*[] iCurves,
const CATCrvParam[] iParams,
CATCrvParam& ioSuggestedParam,
CATPositiveLength* ioGap= NULL) const = 0
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 void GetEquivalentParam( const CATLONG32 iNbOfCurves,
const CATCurve*[] iCurves,
const CATCrvParam[] iParams,
CATCrvParam& ioCalcParam) const = 0
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 void GetEquivalentPoint( const CATCrvParam& iParamOnCurrentCurve,
const CATCurve* iCurrentCurveOrEdgeCurve,
const CATCurve* iEquivalentCurve,
CATCrvParam& ioParamOnEquivalentCurve,
short iConverge=1) const = 0
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 CATPositiveLength GetMaxGap()const = 0
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., CATCurve.EvalPoint 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 CATCurve* GetRefCurve()const = 0
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 short GetRelativeOrientation( const CATCurve* iCurrentCurve)const = 0
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 short GetSharpness( const CATPCurve* iC1,
const CATPCurve* iC2,
CATGeoContinuity* ioContinuity,
CATGeoConvexity* ioConvexity=0) const = 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 const CATCurve* Next( const CATCurve* iCurrentSubElement)const = 0
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 const CATCurve* NextThru( const CATCurve* iCurrentSubElement)const = 0
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 void SetSharpness( const CATPCurve* iC1,
const CATPCurve* iC2,
const CATGeoContinuity iContinuity,
const CATGeoConvexity iConvexity= CATUnknownConvexity) = 0
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: CATGeometricObjects

Copyright © 2003, Dassault Systèmes. All rights reserved.