All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

SketcherInterfaces Interface CATI2DGeometricOperators

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---CATI2DGeometricOperators
 

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


interface CATI2DGeometricOperators

Geometrical Operators Interface on 2D Geometry.


Method Index


o Discretisation(CATBaseUnknown*,double&,double&,double&,int*,double**,double**)
o Distance(CATBaseUnknown*,CATBaseUnknown*,double&,double&,double&)
Computes the distance between two geometric elements.
o Distance(CATBaseUnknown*,CATBaseUnknown*,double*,double*,double*,double&,double&,double&)
Computes the distance between two geometric elements.
o Distance(CATBaseUnknown*,CATMathPoint2D&,CATMathDirection2D&,double&,double&,double&)
Computes the distance between a geometry and a line.
o Intersection(CATBaseUnknown*,CATBaseUnknown*,CATListOfDouble&,CATListOfDouble&,CATListOfInt&,int,double*,double*)
Computes the intersection points between two curves, according to an eventual tolerance.
o Intersection(CATBaseUnknown*,CATBaseUnknown*,CATMathPoint2D&,double&,double&)
Computes the nearest intersection point from a given point between two curves.
o Intersection(CATBaseUnknown*,CATMathPoint2D&,double,CATMathPoint2D&,double*,double*,double*)
Computes the nearest intersection point from a given point between a curve and a circle.
o IsClosed(CATBaseUnknown*,int&)
Checks if a curve is closed.
o IsPtInside(double[2],CATListValCATBaseUnknown_var&,CATListOfDouble&,CATListOfDouble&,int&,double*)
Checks if a point is inside a contour.
o Projection(CATBaseUnknown*,CATMathPoint2D&,double*,double*,double*,double*)
Computes the directed projection of a point on a courbe.

Methods


o Discretisation
public virtual HRESULT Discretisation(CATBaseUnknown* iCurve,
const double& iParam1,
const double& iParam2,
const double& iTolArrow,
int* oNbParams,
double** oParams,
double** oPoints) = 0
o Distance
public virtual HRESULT Distance(CATBaseUnknown* iGeom1,
CATBaseUnknown* iGeom2,
double& oDistance,
double& oParam1,
double& oParam2) = 0
Computes the distance between two geometric elements.
Parameters:
iGeom1
[in] Inputs the first element (point or curve).
iGeom2
[in] Inputs the second element (point or curve).
oDistance
[out] Minimal distance between the element and the line.
oParam1
[out] Parameter on the first element to retrieve the location where the minimal distance is computed.
oParam2
[out] Parameter on the second element to retrieve the location where the minimal distance is computed.
o Distance
public virtual HRESULT Distance(CATBaseUnknown* iGeom1,
CATBaseUnknown* iGeom2,
double* iDir,
double* iGuessParam1,
double* iGuessParam2,
double& oDistance,
double& oParam1,
double& oParam2) = 0
Computes the distance between two geometric elements.
Parameters:
iGeom1
[in] Inputs the first element (point or curve).
iGeom2
[in] Inputs the second element (point or curve).
iDir
[in] Inputs the (optional) direction to compute the distance.
iGuessParam1
[in] Inputs the (optional) help parameter on the first element to compute the distance. This argument is usefull to find a local minimal distance, and for accelerer the convergence.
iGuessParam2
[in] Inputs the (optional) help parameter on the second element to compute the distance. This argument is usefull to find a local minimal distance, and for accelerer the convergence.
oDistance
[out] Minimal distance between the two elements.
oParam1
[out] Parameter on the first element to retrieve the location where the minimal distance is computed.
oParam2
[out] Parameter on the second element to retrieve the location where the minimal distance is computed.
o Distance
public virtual HRESULT Distance(CATBaseUnknown* iGeom,
const CATMathPoint2D& iOrigin,
const CATMathDirection2D& iDirection,
double& oDistance,
double& oParamOnTheGeom,
double& oParamOnTheLine) = 0
Computes the distance between a geometry and a line.
Parameters:
iGeom
[in] Inputs the element (point or curve).
iOrigin
[in] A point on the line.
iDirection
[in] The direction vector of the line.
oDistance
[out] Minimal distance between the element and the line.
oParamOnTheGeom
[out] Parameter on the element to retrieve the location where the minimal distance is computed.
oParamOnTheLine
[out] Parameter on the line to retrieve the location where the minimal distance is computed: CATMathPoint2D PointSolution = iOrigin + (oParamOnTheLine*iDirection)
o Intersection
public virtual HRESULT Intersection(CATBaseUnknown* iCurve1,
CATBaseUnknown* iCurve2,
CATListOfDouble& oParams1,
CATListOfDouble& oParams2,
CATListOfInt& oConfusions,
const int iLimMode=0,
double* iTolPt=NULL,
double* iTolAng=NULL) = 0
Computes the intersection points between two curves, according to an eventual tolerance.
Parameters:
iCurve1
[in] Inputs the first curve.
iCurve1
[in] Inputs the second curve.
oParams1
[out] sorted list of parameters on iCurve1
oParams2
[out] list of parameters on iCurve2 (corresponding to oParams1)
oConfusions
[out] list of confusion status (corresponding to oParams1 and oParams2):
oConfusions[i] = 0 : intersection
oConfusions[i] =-1 : (oParams1[i],oParams2[i]) begin of confusion
oConfusions[i] =+1 : (oParams1[i],oParams2[i]) end of confusion
NB: if oConfusions[i] =-1, then oConfusions[i+1] =+1
iLimMode
[in]
1 intersection between trimmed curves
0 intersection between curves (default)
iTolPt
[in] Inputs the (optional) tolerance to determine if two points are identical.
iTolAng
[in] Inputs the (optional) tolerance to determine if two vectors are identical.
Returns:
A HRESULT
S_OK
Intersections found
S_FALSE
No intersection found
E_xxx
Problem occured.
o Intersection
public virtual HRESULT Intersection(CATBaseUnknown* iCurve1,
CATBaseUnknown* iCurve2,
const CATMathPoint2D& iGuessPoint,
double& oParam1,
double& oParam2) = 0
Computes the nearest intersection point from a given point between two curves.
Parameters:
iCurve1
[in] Inputs the first curve.
iCurve2
[in] Inputs the second curve.
iGuessPoint
[in] Inputs a close point to compute the intersection.
oParamOnTheGeom
[out] Parameter on the element to retrieve the location where the minimal distance is computed.
oParamOnTheLine
[out] Parameter on the line to retrieve the location where the minimal distance is computed: CATMathPoint2D PointSolution = iOrigin + (oParamOnTheLine*iDirection)
o Intersection
public virtual HRESULT Intersection(CATBaseUnknown* iCurve,
const CATMathPoint2D& iCenter,
const double iRadius,
const CATMathPoint2D& iInit,
double* oWsCurve=NULL,
double* oWsCircle=NULL,
double* oPt=NULL) = 0
Computes the nearest intersection point from a given point between a curve and a circle.
Parameters:
iCurve
[in] Inputs the curve.
iCenter
[in] Inputs the center of the circle.
iRadius
[in] Inputs the radius of the circle.
iInit
[in] Inputs a close point to find the nearest intersection.
oWsCurve
[out] Parameter (optional) on the curve of the intersection point.
oWsCircle
[out] Parameter (optional) on the circle of the intersection point.
oPt
[out] Intersection point (optional).
o IsClosed
public virtual HRESULT IsClosed(CATBaseUnknown* iCurve,
int& oClosed) = 0
Checks if a curve is closed.
Parameters:
iCurve
[in] Inputs the curve
oClosed
[out]
1 when the curve is closed,
0 otherwise
o IsPtInside
public virtual HRESULT IsPtInside( const double[2] iPoint,
CATListValCATBaseUnknown_var& iLoop,
CATListOfDouble& iStartParams,
CATListOfDouble& iEndParams,
int& oPointInside,
double* iTolPt=NULL) = 0
Checks if a point is inside a contour.
Parameters:
iPoint[2]
[in] Inputs the Point Coordinates
iLoop
[in] Contour defined as a list of curves
iStartParams
[in] Start parameters of the curves
iEndParams
[in] End parameters of the curves
oPointInside
[out]
1 when iPoint is inside the contour (without ambiguity),
0 otherwise
iTolPt
[in] Inputs the (optional) tolerance to determine if the given curves are consecutive.
o Projection
public virtual HRESULT Projection(CATBaseUnknown* iCurve,
const CATMathPoint2D& iPoint,
const double* iDir,
double* oWsCurve=NULL,
double* oWsLine=NULL,
double* oPt=NULL) = 0
Computes the directed projection of a point on a courbe. It is the same as computing the nearest intersection point from a given point between a curve and a line.
Parameters:
iCurve
[in] Inputs the curve.
iPoint
[in] Inputs the point to project.
iDir
[in] Inputs the direction to project the point. Can be NULL if orthogonal projection is specified.
oWsCurve
[out] Parameter (optional) on the curve of the projected point.
oWsLine
[out] Parameter (optional) on the line of the projected point.
oPt
[out] Projected point (optional).

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

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