CATSketcherUseItf Interface CATISktUse2DTopologicalOperators

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


interface CATISktUse2DTopologicalOperators

Topological Operators Interface on 2D Geometrical Features.


Method Index


o Break(CATBaseUnknown*,CATBaseUnknown**,int,CATBaseUnknown**)
Breaks a monoparametric element by a point.
o GetIncidentCurves(CATBaseUnknown*,CATLISTV(CATISktUse2DCurve_var)&,int)
Looks for the elements relimited by a input point (and the construction elements too).
o InsertChamfer(CATBaseUnknown*,CATBaseUnknown*,int,int&,CATBaseUnknown*,int,int&,int)
Inserts a soon created chamfer between two curves and informs about their relimitations.
o InsertCorner(CATBaseUnknown*,CATBaseUnknown*,int,int&,CATBaseUnknown*,int,int&,int)
Inserts a soon created corner between two curves and informs about their relimitations.
o QuickRelimit(CATBaseUnknown*,CATMathPoint2D&,CATBaseUnknown**,int,int)
Breaks and relimits a monoparametric element, onto the next intersections with the other elements in the sketch.
o Relimit(CATBaseUnknown*,int,int&,double,CATBaseUnknown*,int,int&,double,CATBaseUnknown**)
Informs of the relimitation of two monoparametric elements.
o Relimit(CATBaseUnknown*,int,int&,CATBaseUnknown*,int,int&,CATMathPoint2D&,CATBaseUnknown**)
Informs of the relimitation of two monoparametric elements.

Methods


o Break
public virtual Break( iCurveToBreak,
ioBreakPoint,
const iToErase,
oNewCurve)
Breaks a monoparametric element by a point.
Parameters:
iCurveToBreak
[in] Inputs the element to be broken
ioBreakPoint
[in/out] Inputs the breaking point: it will be projected on the curve. The result is used to break. The input pointer can be modified. A call to the AddRef() method is necessary before the use of this Break method. A call to the Release() method will be necessary after.
iToErase
[in] Inputs the possibility to erase the input point to create a new one.
oNewCurve
[out] Outputs the created curve, as the one in input.
o GetIncidentCurves
public virtual GetIncidentCurves( iPoint,
oCurves,
iOption=1)
Looks for the elements relimited by a input point (and the construction elements too).
Parameters:
iPoint
[in] Inputs the point
oCurves
[out] Outputs the list of curves relimited by this point and other (see next argument).
iOption
[in] Inputs the desired method to find relimited curves: = 1 : (default) Looks for elements relimited by the input point only. = 2 : Looks for elements relimited by the input point and by all the logically coincident points to this point (linked by a coincidence constraint). = 3 : Looks for elements relimited by the input point and by all the geometrically identical points to this point. = 4 : Looks for elements relimited and get through by the input point. Remark: The elements output by option 1 are a part of the elements output by the option 2, which are a part of the elements output by the option 3.
o InsertChamfer
public virtual InsertChamfer( iLine,
iCurve1,
iTrim1,
oLim1,
iCurve2,
iTrim2,
oLim2,
iCreateConstraints=1)
Inserts a soon created chamfer between two curves and informs about their relimitations.
Parameters:
iLine
[in] Inputs the previously created chamfer.
iCurve1
[in] Inputs the 1rst curve on wich the chamfer will eventually be relimited.
iTrim1
[in] Indicates if the 1rst curve has to be relimited or not.
oLim1
[out] : -1 if the 1st element should be relimited at its beginning 1 if the 1st element should be relimited at its end 0 if the 1st element cannot be relimited (if iTrim1==0 or any other raison)
iCurve2
[in] Inputs the 2nd curve on wich the chamfer will eventually be relimited.
iTrim2
[in] Indicates if the 1rst curve has to be relimited or not.
oLim2
[out] : -1 if the 2nd element should be relimited at its beginning 1 if the 2nd element should be relimited at its end 0 if the 2nd element cannot be relimited (if iTrim2==0 or any other raison)
iCreateConstraints
[in] : 0 if the software has not to create coincidents and mutuals relimitations constraints 1 if the software has to create coincidents and mutuals relimitations constraints
o InsertCorner
public virtual InsertCorner( iCircle,
iCurve1,
iTrim1,
oLim1,
iCurve2,
iTrim2,
oLim2,
iCreateConstraints=1)
Inserts a soon created corner between two curves and informs about their relimitations.
Parameters:
iCircle
[in] Inputs the previously created corner.
iCurve1
[in] Inputs the 1rst curve on wich the corner will eventually be relimited.
iTrim1
[in] Indicates if the 1rst curve has to be relimited or not.
oLim1
[out] : -1 if the 1st element should be relimited at its beginning 1 if the 1st element should be relimited at its end 0 if the 1st element cannot be relimited (if iTrim1==0 or any other raison)
iCurve2
[in] Inputs the 2nd curve on wich the corner will eventually be relimited.
iTrim2
[in] Indicates if the 1rst curve has to be relimited or not.
oLim2
[out] : -1 if the 2nd element should be relimited at its beginning 1 if the 2nd element should be relimited at its end 0 if the 2nd element cannot be relimited (if iTrim2==0 or any other raison)
iCreateConstraints
[in] : 0 if the software has not to create tangents, coincidents and mutuals relimitations constraints 1 if the software has to create tangents, coincidents and mutuals relimitations constraints
o QuickRelimit
public virtual QuickRelimit( iCurve,
const iSelectedPoint,
oNewCurve,
iBreak=-1,
const iCreateConstraint=1)
Breaks and relimits a monoparametric element, onto the next intersections with the other elements in the sketch.
Parameters:
iCurve
[in] Inputs the element to be broken.
iSelectedPoint
[in] Inputs the location where the iCurve element is selected. The point makes it possible to find where iCurve has to be broken and to find the part where iCurve has to be preserved and where iCurve has to be erased
oNewCurve
[out] Outputs the created part(s) from the initial iCurve element:
If iBreak = -1, *oNewCurve will reference the created curve. A call to the Release() method will be necessary at the end of the process of this pointer. It can be NULL if there is zero intersection of iCurve with any other element of the sketch. Thus iCurve is deleted. It can be NULL if there is only one intersection of iCurve with any other element of the sketch. Thus iCurve is relimited.
If iBreak = 0, *oNewCurve is NULL because iCurve is relimited, but no extra curve is created.
If iBreak = 1, *oNewCurve will reference the two created curves, if they exist: oNewCurve[0] is the first created curve (can be NULL if no curve is created). oNewCurve[1] is the second created curve (can be NULL if no curve is created). A call to the Release() method will be necessary at the end of the process of these 2 pointers. Must be freeded by caller (delete [] oNewCurve).
iBreak
[in] = -1 : The selected part of the iCurve is removed. = 0 : The selected part of the iCurve is kept. = 1 : The iCurve is broken but no part is removed.
iCreateConstraint
[in] = 1 : (Default) The geometrical constraints will be created. = 0 : No geometrical constraint will be created.
Returns:
A HRESULT
S_OK
iCurve is modified, and oNewCurve is valuated.
S_FALSE
No intersection with any other element of the sketch: The whole element is erased if iBreak=-1. The whole element is kept if iBreak=0 or iBreak=1.
E_xxx
Problem ocurred.
o Relimit
public virtual Relimit( iElem1,
iNo_Limit1,
oLim1,
iParam1,
iElem2,
iNo_Limit2,
oLim2,
iParam2,
ioRelimitPoint)
Informs of the relimitation of two monoparametric elements. To definitively relimit the elements, use SetStartPoint or SetEndPoints method (as indicated with the value of the outputs oLim1 and oLim2).
Parameters:
iElem1
[int] Inputs the 1rst element (not previously relimited) to study for the mutual relimitation.
iNo_Limit1
[int] : 0 if the relimitation of the 1rst element is to be studied. Non zero if the 1rst element has not to be studied in terms of relimitation.
oLim1
[out] : -1 if the 1rst element should be relimited at its beginning 1 if the 1rst element should be relimited at its end 0 if the 1rst element cannot be relimited (if iNo_Limit1!=0 or any other raison)
iParam1
[in] Inputs the parameter around which the 1rst element will be kept. Must be initialized at 0.0 if useless (for example, not read for a point)
iElem2
[in] Inputs the 2nd element (not previously relimited) to study for the mutual relimitation.
iNo_Limit2
[int] : 0 if the relimitation of the 2nd element is to be studied. Non zero if the 2nd element has not to be studied in terms of relimitation.
oLim2
[out] : -1 if the 2nd element should be relimited at its beginning 1 if the 2nd element should be relimited at its end 0 if the 2nd element cannot be relimited (if iNo_Limit2!=0 or any other raison)
iParam2
[in] Inputs the parameter around which the 2nd element will be kept. Must be initialized at 0.0 if useless (for example, not read for a point)
ioRelimitPoint
[in/out] Inputs the previous relimitation point, if it exists. In this case, its coordinates will be modified. Returns the new relimitation point. It is created if it didn't exist previously, otherwise it has been modified. A call to the Release() method will be necessary at the end of the process of this pointer.
o Relimit
public virtual Relimit( iElem1,
iNo_Limit1,
oLim1,
iElem2,
iNo_Limit2,
oLim2,
const iIndicatePoint,
ioRelimitPoint)
Informs of the relimitation of two monoparametric elements. To definitively relimit the elements, use SetStartPoint or SetEndPoints method (as indicated with the value of the outputs oLim1 and oLim2).
Parameters:
iElem1
[int] Inputs the 1rst element (not previously relimited) to study for the mutual relimitation.
iNo_Limit1
[int] : 0 if the relimitation of the 1rst element is to be studied. Non zero if the 1rst element has not to be studied in terms of relimitation.
oLim1
[out] : -1 if the 1rst element should be relimited at its beginning 1 if the 1rst element should be relimited at its end 0 if the 1rst element cannot be relimited (if iNo_Limit1!=0 or any other raison)
iElem2
[in] Inputs the 2nd element (not previously relimited) to study for the mutual relimitation.
iNo_Limit2
[int] : 0 if the relimitation of the 2nd element is to be studied. Non zero if the 2nd element has not to be studied in terms of relimitation.
oLim2
[out] : -1 if the 2nd element should be relimited at its beginning 1 if the 2nd element should be relimited at its end 0 if the 2nd element cannot be relimited (if iNo_Limit2!=0 or any other raison)
iIndicatePoint
[in] Inputs the location near the two elements to indicate the parts to keep.
ioRelimitPoint
[in/out] Inputs the previous relimitation point, if it exists. In this case, its coordinates will be modified. Returns the new relimitation point. It is created if it didn't exist previously, otherwise it has been modified. A call to the Release() method will be necessary at the end of the process of this pointer.

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

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