GMOperatorsInterfaces Interface CATICGMFrFTopologicalSweep
Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.
interface CATICGMFrFTopologicalSweep
Class representing the topological operator that computes swept surfaces.
A sweep operation is defined by:
- One or several guides that are along the sweeping direction.
- One profile that is swept, or several profiles thru which the swept surface passes.
In case of segment or circle profile, the profile is implicitely given.
- Optionally a spine curve, that defines the sweeping plane (also called moving frame ).
This operator can create, according to the chosen options:
- Unspec sweep: one profile, one guide
- BiRail sweep: one profile, two guides
- Segment sweep: Define:
- A1, A2: Angle Laws
- R: Radius Law
- LG, MG, FG: Limit, Middle, Functional Guide
- R1, R2: Length Laws
- LS, MS, FS: Limit, Middle, Functional Surface
The following describes the needed inputs for each case:
R2 R1
Case 1: <--*-----*-----> 2 Limit Guides L1 and L2
------ L2 L1 2 Length Laws (giving values R1 and R2)
R2 LG R1
Case 2: <-----*-----> 1 Limit Guide LG + 1 Functional Guide FG
------ A \ 2 Length Laws R1 and R2 + 1 Angle Law A
*FG
Case 3: LG MG
------ *-----*----- 1 Limit Guide LG + 1 Middle Guide MG
R2 LG R1
Case 4: <-----*-----> 1 Limit Guide LG (PCurve)
------ |---|S 2 Length Laws R1 and R2 +
A 1 Angle Law A (% Surface Reference)
- Circle sweep: For the same notations as those for the segment sweep,
Case 1: *-----*-----* 3 Limit Guides L1 L2 and L3
------ L1 L2 L3 No Laws
Case 2: *----------* 2 Limit Guides L1 and L2
------ L1 \ L2 1 Radius Law R
R
Case 3: A1 *
------ * / \ 1 Middle Guide + 1 Functional Guide
| /A2 \ 2 Angular Laws A1 and A2
*------*
Case 4: ------ 1 Middle Guide
------ | R| | 1 Radius Law R
| * |
______
A1 MG A2
Case 5: <-----*-----> 1 Middle Guide MG
------ |---|S 2 Angle Laws A1 and A2 (% Surface Reference)
R 1 Radius Law
o
L1 o o
Case 6: * * L2 2 Limit Guides L1 and L2
------ ! o o 1 Reference Surface
! o
!
! Reference Surface
- Conic sweep: For the same notations as those for the segment or circle
sweep,
Case 1: 5 Limit Guides
------
L1
*
o
o
* L2
o
o L3
*
o L4 L5
* o o *
Case 2: 4 Limit Guides L1 to L5
------ 1 Slope (angle law % reference surface)
L1
*
o
o
* L2
o
o L3
*
o
o L4
o o *----------------------- slope
- angle
-
-
- reference surface
Case 3: 3 Limit Guides
------ 2 Slopes (angle law % reference surface)
L1
!*
! o
! o
! o
! o
! o L2
! *
! o
! o L3
o o *----------------------- slope
slope - angle
(angle + reference) -
-
- reference surface
Case 4: 2 Limit Guides
------ 2 Slopes (angle law % reference surface)
1 Rho Law
L1
!*
! o
! o
! o
! o
! o
! o L2
! o o o o *----------------------- slope
slope - angle
(angle + reference) -
-
- reference surface
The CATICGMFrFTopologicalSweep operator follows the global frame of the topological operators
and satisfies the smart mechanism:
the input bodies are not modified. A new resulting body is created,
possibly sharing data with the input bodies.
- A CATICGMFrFTopologicalSweep operator is created with the CATCGMCreateFrFTopologicalSweep global method:
It must be directly released with the Release method after use. It 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 the GetResult method. If you do not want
to keep the resulting body, use the
method to remove it from the geometric factory.
Method Index
- o
ChooseOriginGuide(CATGeometry*,CATGeometry*)
- Internal use.
- o
ForceVariableViewingDirMode()
- (temporary and restricted use).
- o
GetAllProfiles(double)
- Returns the computed curves at a given section of the sweep.
- o
GetFrame(double,CATMathAxis*&)
- Retrieves the moving frame at a given ratio parameter.
- o
GetNonCoupledSectionVertices(CATLISTP(CATVertex)*,CATListOfInt*,CATListOfInt*,CATListOfInt*,CATListOfInt*)
- Gets vertices non coupled by automatic section vertices coupling.
- o
GetProfileArea(double,double&,double&)
- Gets the initial area for the profile evaluated in a given parameter,
and the final area after application of the area law (if any).
- o
GetProfileParameter(int)
- Retrieves the moving frame parameter where profile is positionned
(Unspec sweep, Multi profile sweep).
- o
GetProfilePosition(CATMathAxis*&)
- Retrieves the axes system of the profile (Sweep unspec.
- o
GetResult()
- Returns the result of this operator.
- o
GetSpine()
- Returns the spine.
- o
GetTwistedAreas(CATListOfDouble&,CATListOfDouble&)
- Retrieves the limiting parameters of the twisted areas ot the wrap areas.
- o
Run()
- Runs this operator.
- o
SetAnchorPoints(CATMathPoint&,CATMathPoint&)
- Defines the anchor points for profile positionning.
- o
SetAngularLaw(CATLaw*)
- Defines an angular law to rotate the moving frame around its Z axis.
- o
SetAngularLaw(CATCompositeLaw*)
- Defines an angular law to rotate the moving frame around its Z axis.
- o
SetAngularLaws(CATLaw**,int)
- Defines the angular laws for defining limiting guides.
- o
SetAngularLaws(CATCompositeLaw**,int)
- Defines the angular laws for defining limiting guides.
- o
SetAngularLawsInDegree(CATLaw**,int)
- Defines the angular laws for defining limiting guides.
- o
SetAreaLaw(CATLaw*)
- Defines the area law for section deformation.
- o
SetAreaLaw(CATCompositeLaw*)
- Defines the area law for section deformation.
- o
SetAreasToEliminate(CATLISTP(CATVertex)&,CATLISTP(CATVertex)&)
- Defines the vertices limiting areas to eliminate from final sweep.
- o
SetCanonicSurfacesDetection(CATBoolean)
- Sets the canonic surfaces detection mode (cones/cylinders/planes).
- o
SetCleanGuidesOption(int,double*,double*,double*)
- Defines clean guides option, and clean parameter values.
- o
SetCleanProfilesOption(int,double*,double*,double*)
- Defines clean profiles option, and clean parameter values.
- o
SetClosureMode()
- Asks for the body closure.
- o
SetConeOption()
- Defines cone option for segment sweep computation with reference element
(behaves like a draft computation).
- o
SetCouplingGuides(CATLISTP(CATGeometry)*)
- Defines additional guides to be used only for profile sections coupling.
- o
SetDowngradeSetting(CATFrFTopologicalDowngradeSetting_Type)
- Explicit downgrade query for one upgraded setting.
- o
SetFillTwist(int,CATFrFTopologicalSweepFill_Type)
- Defines the twisted or removed areas filling mode
- o
SetFunctionalGuides(CATLISTP(CATGeometry)*)
- Defines the references for the (start and end) angles measurement for a segment or circle sweep.
- o
SetGuideContinuityCondition(int,CATGeometry*,CATFrFTopologicalSweepContinuity_Type)
- Sets the continuity constraints (for multi profiles sweep) for a guide.
- o
SetLayDownRequest(double*)
- Asks for topological lay down to be done internally for all guides and profiles with support
surfaces.
- o
SetLengthLaws(CATLaw**,int)
- Defines the length laws for a segment sweep.
- o
SetLengthLaws(CATCompositeLaw**,int)
- Defines the length laws for a segment sweep.
- o
SetLimitGuideSlopeCondition(int,CATGeometry*,CATLaw*)
- Defines a slope condition for a conic or a circle sweep.
- o
SetLimitGuideSlopeCondition(int,CATGeometry*,CATCompositeLaw*)
- Defines a slope condition for a conic or a circle sweep.
- o
SetLimitGuides(CATLISTP(CATGeometry)*)
- Defines the limiting guides of a segment or circle sweep.
- o
SetLimitingElements(int,CATGeometry**)
- Defines limiting elements to be used instead of one or two length laws in a segment sweep.
- o
SetMiddleGuides(CATLISTP(CATGeometry)*)
- Defines the guide defining the center of the circle for a segment or circle sweep.
- o
SetMovingFrameParms(CATFrFTopologicalSweepMF_Type,CATMathDirection*,CATMathDirection*)
- Moving frame type definition.
- o
SetPlanesDetection(CATBoolean)
- Sets the plane detection mode.
- o
SetProfileAutomaticCouplingMode(CATFrFTopologicalSweepAutomaticCoupling_Type,CATBoolean,CATBoolean)
- Defines the profile automatic coupling mode.
- o
SetProfileContinuityCondition(int,CATGeometry*,CATFrFTopologicalSweepContinuity_Type)
- Sets the continuity constraints on start and end profiles (for multi profiles sweep).
- o
SetProfileOrientation(int,CATFrFTopologicalSweepOrientation_Type)
- Sets the profiles orientation (for multi profiles sweep).
- o
SetProfilePosition(CATMathAxis*)
- Defines the axes system of the profile.
- o
SetProfilePositionType(CATLONG32)
- Definition of profile positioning type for a sweep with one or two guides (Sweep unspec and birail).
- o
SetProfileScalingOption(CATLONG32)
- Defines the scaling mode to apply to the profile.
- o
SetPseudoUntwistModeForC0VerticesInError()
- Asks for managing C0 vertices in topological computation error as pseudo-twisted areas centers.
- o
SetRadiusLaw(CATLaw*)
- Defines the radius law of a circle sweep.
- o
SetRadiusLaw(CATCompositeLaw*)
- Defines the radius law of a circle sweep.
- o
SetReferenceElement(CATGeometry*)
- Defines a variable viewing direction (sweep unspec).
- o
SetRelimitationMode(CATFrFTopologicalSweepRelimitation_Type)
- Sets the relimitation mode by the extremity profiles.
- o
SetRhoLaw(CATLaw*)
- Defines the rho law of a conic sweep.
- o
SetRhoLaw(CATCompositeLaw*)
- Defines the rho law of a conic sweep.
- o
SetSimplification(CATBoolean)
- Sets the simplification mode.
- o
SetSmoothAngleThreshold(double)
- Defines the smooth angle threshold.
- o
SetSmoothOption(int)
- Defines a smooth option for moving frame and comb extraction.
- o
SetSolutionChoice(CATLONG32)
- Defines the conic, circle or segment to keep if case of ambiguous case.
- o
SetSpine(CATGeometry*,CATFrFTopologicalSweepSpine_Type)
- Defines the spine.
- o
SetTwistDetection(int)
- Defines the twist detection mode.
- o
SetUntwistMode(int,double)
- Defines the untwist mode, in which every twisted area will be computed.
- o
SetUpgradedDefaultSettings(int)
- Upgrade default operator settings.
- o
SetWrapDetection(int)
- Defines the wrap detection mode.
- o
ValidateCaseNumber(CATLONG32)
- Checks the input data according to the sweep case.
Methods
o ChooseOriginGuide
public virtual ChooseOriginGuide( | | iChosenGuide, |
| | iReferenceElement | = NULL) |
-
Internal use.
Defines the guide to be used for positionning the moving axis origin.
- Parameters:
-
- iChosenGuide
- The guide chosen (that must belong to the set of limit or functional guides).
- iReferenceElement
- The reference element chosen for normal computation.
o ForceVariableViewingDirMode
public virtual ForceVariableViewingDirMode( | ) |
-
(temporary and restricted use).
Manages motion axis twist with a variable (local) viewing direction.
To be used only with following conditions;
- Standard moving frame type (CATFrFTopologicalSweepMF_Ortho).
- Unspec sweep (with profile)
- Spine with a complex 3D curve
o GetAllProfiles
public virtual GetAllProfiles( | | iLambda) |
-
Returns the computed curves at a given section of the sweep.
The number of the curves depends on the number of edges
of the initial profiles and the number of guides.
- Parameters:
-
- iLambda
- The parameter 0 <= iLambda <=1 indicating where the curves are computed.
- Returns:
- The list of the pointers to the created curves. If you do not want to keep
the curves, use the
method. Delete the list after use.
o GetFrame
public virtual GetFrame( | | iLambda, |
| | oFrame) |
-
Retrieves the moving frame at a given ratio parameter.
- Parameters:
-
- iLambda
- The parameter 0 <= iLambda <=1 indicating where the frame is retrieved.
- oFrame
- The moving frame, that may or may not have been allocated before call
and must be deallocated after
o GetNonCoupledSectionVertices
public virtual GetNonCoupledSectionVertices( | | oVertices | = 0, |
| | oSectionNumbers | = 0, |
| | oEdgeNumbers | = 0, |
| | oLevels | = 0, |
| | oDomains | = 0) |
-
Gets vertices non coupled by automatic section vertices coupling.
- Parameters:
-
- oVertices
- The list of non coupled section vertices.
- oSectionNumbers
- The list of section numbers for non coupled vertices.
- oEdgeNumbers
- The list of edge numbers for non coupled vertices (the vertex oVertices[i] is
between edge oEdgeNumbers[i] and edge 1+oEdgeNumbers[i])
- oLevels
- The list of discontinuity levels for non coupled vertices
(1 for C0 non C1 vertices, 2 for C1 non C2 vertices)
- oDomains
- The list of domain numbers for non coupled vertices
(internal numerotation within current level management; same domain number
may be given during non C1 vertices management and during non C2 vertices
management)
o GetProfileArea
public virtual GetProfileArea( | | iParam, |
| | oInitialArea, |
| | oFinalArea) |
-
Gets the initial area for the profile evaluated in a given parameter,
and the final area after application of the area law (if any).
- Parameters:
-
- iParam
- The parameter value in which the area is to be computed.
- iInitialArea
- The profile area before deformation with area law.
- iFinalArea
- The profile area after deformation with area law.
o GetProfileParameter
public virtual GetProfileParameter( | | iProfileRank | = 1) |
-
Retrieves the moving frame parameter where profile is positionned
(Unspec sweep, Multi profile sweep).
- Parameters:
-
- iProfileRank
- The rank (beginning at 1) of the profile.
- Returns:
- parameter value between 0. and 1.
o GetProfilePosition
public virtual GetProfilePosition( | | oProfileAxis) |
-
Retrieves the axes system of the profile (Sweep unspec.
- Parameters:
-
- oProfileAxis
- The pointer to the input or computed axes system of the profile.
The computed axes system belongs to
this operator and is deleted at the operator deletion.
o GetResult
public virtual GetResult( | ) |
-
Returns the result of this operator.
- Returns:
- The pointer to the created body. You must delete it with the
method if you do not want to keep it.
o GetSpine
public virtual GetSpine( | ) |
-
Returns the spine.
- Returns:
- The pointer to the input or computed spine. The computed (or implicit) spine belongs to
this operator and is deleted at the operator deletion.
o GetTwistedAreas
public virtual GetTwistedAreas( | | oTwistBegin, |
| | oTwistEnd) |
-
Retrieves the limiting parameters of the twisted areas ot the wrap areas.
- Parameters:
-
- oTwistBegin
- the beginning parameters of the twisted areas.
- oTwistEnd
- the ending parameters of the twisted areas.
o Run
-
Runs this operator.
o SetAnchorPoints
public virtual SetAnchorPoints( | const | iPoint1, |
| const | iPoint2) |
-
Defines the anchor points for profile positionning.
Moving the anchor points
from their initial position to intersection points between the sweeping plane
and the guides, defines the 3D transformation to apply to the initial profile.
Anchor points should be in the profile plane for correct behaviour of
profile positionning software.
- Parameters:
-
- iPoint1
- The point to anchor on first guide.
- iPoint2
- The point to anchor on second guide.
o SetAngularLaw
public virtual SetAngularLaw( | | iAngularLaw) |
-
Defines an angular law to rotate the moving frame around its Z axis.
- Parameters:
-
- iAngularLaw
- The pointer to the angular law.
(historical behaviour: Angles must be given in radian for circular sweep, in degree for other types of sweep;
upgraded behaviour if SetUpgradedDefaultSettings() has been called: Angles always given in degree)
o SetAngularLaw
public virtual SetAngularLaw( | | iAngularLaw) |
-
Defines an angular law to rotate the moving frame around its Z axis.
- Parameters:
-
- iAngularLaw
- The pointer to the angular law.
(historical behaviour: Angles must be given in radian for circular sweep, in degree for other types of sweep;
upgraded behaviour if SetUpgradedDefaultSettings() has been called: Angles always given in degree)
o SetAngularLaws
public virtual SetAngularLaws( | | iLaws, |
| | iNbLaws) |
-
Defines the angular laws for defining limiting guides.
To use according of the chosen sweep case.
- Parameters:
-
- iLaws
- The array of the pointers to the laws.
- iNbLaws
- The number of laws.
(historical behaviour: Angles must be given in radian for circular sweep, in degree for other types of sweep;
upgraded behaviour if SetUpgradedDefaultSettings() has been called: Angles always given in degree)
o SetAngularLaws
public virtual SetAngularLaws( | | iLaws, |
| | iNbLaws) |
-
Defines the angular laws for defining limiting guides.
To use according of the chosen sweep case.
- Parameters:
-
- iLaws
- The array of the pointers to the laws.
- iNbLaws
- The number of laws.
(historical behaviour: Angles must be given in radian for circular sweep, in degree for other types of sweep;
upgraded behaviour if SetUpgradedDefaultSettings() has been called: Angles always given in degree)
o SetAngularLawsInDegree
public virtual SetAngularLawsInDegree( | | iLaws, |
| | iNbLaws) |
-
Defines the angular laws for defining limiting guides.
To use according of the chosen sweep case.
- Parameters:
-
- iLaws
- The array of the pointers to the laws.
- iNbLaws
- The number of laws.
(Angles must be given in degree, including in circular sweep case)
o SetAreaLaw
public virtual SetAreaLaw( | | iAreaLaw) |
-
Defines the area law for section deformation.
This option is available only with 0, 1 or 2 guides.
If the input sections do not fit with the area law, the surface will not
fit to theses sections.
o SetAreaLaw
public virtual SetAreaLaw( | | iAreaLaw) |
-
Defines the area law for section deformation.
This option is available only with 0, 1 or 2 guides.
If the input sections do not fit with the area law, the surface will not
fit to these sections.
o SetAreasToEliminate
public virtual SetAreasToEliminate( | | iStartVertices, |
| | iEndVertices) |
-
Defines the vertices limiting areas to eliminate from final sweep.
- Parameters:
-
- iStartVertices
- The starting vertices for each areas to eliminate.
- iEndVertices
- The ending vertices for each area to eliminate.
The same number of vertices must be defined for start and end. The vertices must be located
on the first guide, but not necessarily logically related to it.
o SetCanonicSurfacesDetection
public virtual SetCanonicSurfacesDetection( | | iCanonicSurfacesDetection | = CATBoolean(1)) |
-
Sets the canonic surfaces detection mode (cones/cylinders/planes).
- Parameters:
-
- iCanonicSurfacesDetection
- The canonic surface detection mode.
Legal values: TRUE for replacing nurbs surfaces by canonic surfaces,
FALSE otherwise (default mode at the operator creation).
o SetCleanGuidesOption
public virtual SetCleanGuidesOption( | | iCleanOption | = 0, |
| | iCleanMaxDeformation | = NULL, |
| | iCleanSmallCurvesMaxLength | = NULL, |
| | iCleanCurvatureThreshold | = NULL) |
-
Defines clean guides option, and clean parameter values. Pointers
to parameter values are to be given only when corresponding parameter
is redefined, otherwise, standard parameter value will be used. Pointers
may contain addresses of local variables that will be lost after call:
parameter values will be copied by this method.
- Parameters:
-
- iCleanOption
- The cleaning option
Legal values: 0 no cleaning will be done
(default mode at operator creation),
1 cleaning will be done.
- iCleanMaxDeformation
- The pointer to max deformation authorized.
- iCleanSmallCurvesMaxLength
- The pointer to maximum length of curves to be kept.
- iCleanCurvatureThreshold
- The pointer to the curvature threshold.
o SetCleanProfilesOption
public virtual SetCleanProfilesOption( | | iCleanOption | = 0, |
| | iCleanMaxDeformation | = NULL, |
| | iCleanSmallCurvesMaxLength | = NULL, |
| | iCleanCurvatureThreshold | = NULL) |
-
Defines clean profiles option, and clean parameter values.
Same as for guides
o SetClosureMode
public virtual SetClosureMode( | ) |
-
Asks for the body closure.
To use in cases the closed and planar profiles for example.
o SetConeOption
public virtual SetConeOption( | ) |
-
Defines cone option for segment sweep computation with reference element
(behaves like a draft computation).
o SetCouplingGuides
public virtual SetCouplingGuides( | | iCouplingGuides) |
-
Defines additional guides to be used only for profile sections coupling.
- Parameters:
-
- iCouplingGuides
- The list of pointers to the coupling guides (wire bodies).
o SetDowngradeSetting
public virtual SetDowngradeSetting( | | iSettingDowngrade) |
-
Explicit downgrade query for one upgraded setting.
(must be done between SetUpgradedDefaultSettings() and other specifications definition).
- Parameters:
-
- iSettingDowngrade
- setting downgrade query
o SetFillTwist
public virtual SetFillTwist( | | iFillTwistMode | = 0, |
| | iFillTwistDefaultOption | = CATFrFTopologicalSweepFill_NoFill_0) |
-
Defines the twisted or removed areas filling mode
- Parameters:
-
- iFillTwistMode
- The filling mode. If 0, no fill.
If 1, areas will be filled.
- iFillTwistDefaultOption
- The filling default option for all areas.
o SetFunctionalGuides
public virtual SetFunctionalGuides( | | iFunctionalGuides) |
-
Defines the references for the (start and end) angles measurement for a segment or circle sweep.
To use according of the chosen sweep case.The sweep may not pass thru the functional guides.
- Parameters:
-
- iFunctionalGuides
- The list of pointers to the one or two reference guides.
o SetGuideContinuityCondition
public virtual SetGuideContinuityCondition( | | iRankGuide, |
| | iReferenceElement, |
| | iContinuityCondition | = CATFrFTopologicalSweepContinuity_G1) |
-
Sets the continuity constraints (for multi profiles sweep) for a guide.
- Parameters:
-
- iRankGuide
- The rank (beginning at 1) of the guide to constraint.
- iReferenceElement
- The pointer to the reference element (CATPlane or skin CATBody) on which the guide
must lay. Each sweep moving section is tangent to a skin CATBody reference element and normal to
a CATPlane reference element.
- iContinuityCondition
- The type of continuity constraint.
o SetLayDownRequest
public virtual SetLayDownRequest( | | iLayDownTolerance | = NULL) |
-
Asks for topological lay down to be done internally for all guides and profiles with support
surfaces.
- Parameters:
-
- iLayDownTolerance
- The pointer to the lay down tolerance (maximum distance between wire to be laid down
and its support surface).
(historical behaviour: must be called if internal lay down to be done;
upgraded behaviour if SetUpgradedDefaultSettings() has been called: internal lay down is implicitly done)
o SetLengthLaws
public virtual SetLengthLaws( | | iLaws, |
| | iNbLaws) |
-
Defines the length laws for a segment sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iLaws
- The array of the pointers to the laws.
- iNbLaws
- The number of laws.
o SetLengthLaws
public virtual SetLengthLaws( | | iLaws, |
| | iNbLaws) |
-
Defines the length laws for a segment sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iLaws
- The array of the pointers to the laws.
- iNbLaws
- The number of laws.
o SetLimitGuideSlopeCondition
public virtual SetLimitGuideSlopeCondition( | | iLimitGuideRank, |
| | iReferenceElement, |
| | iAngularLaw) |
-
Defines a slope condition for a conic or a circle sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iGuideRank
- The rank of the guide on which the slope condition applies
(first or last guide).
- iReferenceElement
- The pointer to the reference element (CATPlane or skin CATBody or wire CATBody)
defining the angular reference. For a null angle, conic will be tangent
to the plane or skin reference element, or to the line joining guide
and a wire reference element.
- iAngleLaw
- The pointer to the angle law.
o SetLimitGuideSlopeCondition
public virtual SetLimitGuideSlopeCondition( | | iLimitGuideRank, |
| | iReferenceElement, |
| | iAngularLaw) |
-
Defines a slope condition for a conic or a circle sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iGuideRank
- The rank of the guide on which the slope condition applies
(first or last guide).
- iReferenceElement
- The pointer to the reference element (CATPlane or skin CATBody or wire CATBody)
defining the angular reference. For a null angle, conic will be tangent
to the plane or skin reference element, or to the line joining guide
and a wire reference element.
- iAngleLaw
- The pointer to the angle law.
o SetLimitGuides
public virtual SetLimitGuides( | | iLimitGuides) |
-
Defines the limiting guides of a segment or circle sweep.
According to the number of guides, an appropriate build method is chosen.
This choice can also be explicitely given for a circle sweep
by the SetSolutionChoice method.
- Parameters:
-
- iLimitGuides
- The pointer to the list of pointers to the (wire body or curve) guides.
o SetLimitingElements
public virtual SetLimitingElements( | | iNbElements, |
| | iLimitingElements) |
-
Defines limiting elements to be used instead of one or two length laws in a segment sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iNbElements
- The number of limiting elements
Legal values:
- 0
- If no limiting element
- 1
- If only one limiting element instead of first length law.
- 2
- If two limiting elements (first one may be null).
- iLimitingElements
- The array of pointers to the limiting elements (CATPlane).
Null elements may be given.
o SetMiddleGuides
public virtual SetMiddleGuides( | | iMiddleGuides) |
-
Defines the guide defining the center of the circle for a segment or circle sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iMiddleGuides
- The list of pointers to the one middle guide.
o SetMovingFrameParms
public virtual SetMovingFrameParms( | | iMFType, |
| | iMFViewingDir | = NULL, |
| | iMFDir | = NULL) |
-
Moving frame type definition.
- Parameters:
-
- iMFViewingDir
- Used as viewing direction
(if not provided, an automatic viewing direction will
be computed)
if type is CATFrFTopologicalSweepMF_ParallelToPlane:
- iMFDir
- Used as plane normal
Moving frame is computed using spine provided by SetSpine()
or first guide if no spine provided)
o SetPlanesDetection
public virtual SetPlanesDetection( | | iPlanesDetection | = CATBoolean(1)) |
-
Sets the plane detection mode.
- Parameters:
-
- iPlanesDetection
- The plane detection mode.
Legal values: TRUE for replacing planar surfaces by planes,
FALSE otherwise (default mode at the operator creation).
o SetProfileAutomaticCouplingMode
public virtual SetProfileAutomaticCouplingMode( | | iCouplingType, |
| | iForceErrorOnImpossibleCoupling | = FALSE, |
| | iCoupleFirstVerticesOnImpossibleCoupling | = FALSE) |
-
Defines the profile automatic coupling mode.
- Parameters:
-
- iCouplingType
- The coupling type.
- iForceErrorOnImpossibleCoupling
- The error management.
Legal values:
- FALSE
- If the required coupling mode is not possible, the operator tries to couple
in a lower mode (the lowest mode is the coupling by curvilinear length).
- TRUE
- An error is thrown if the required coupling is not possible.
- iCoupleFirstVerticesOnImpossibleCoupling
- The coupling strategy when coupling is impossible.
Legal values:
- FALSE
- If the required coupling mode is not possible, the operator tries to couple
in a lower mode or raises an error (according to iForceErrorOnImpossibleCoupling param)
- TRUE
- The first vertices with same continuity of the corresponding domains are coupled,
even if some vertices counts are different in these domains: vertices may be left in some domains.
o SetProfileContinuityCondition
public virtual SetProfileContinuityCondition( | | iProfileRank, |
| | iReferenceElement, |
| | iContinuityCondition | = CATFrFTopologicalSweepContinuity_G1) |
-
Sets the continuity constraints on start and end profiles (for multi profiles sweep).
The start and end profiles are not necessarily the first and last
profile of the list given at the operator creation.
- Parameters:
-
- iProfileRank
- The rank (beginning at 1) of the profile to constraint.
- iReferenceElement
- The pointer to the reference element (CATPlane or skin CATBody) on which the profile
must lay. The sweep is tangent to a skin CATBody reference element and normal to
a CATPlane reference element.
- iContinuityCondition
- The type of continuity constraint.
o SetProfileOrientation
public virtual SetProfileOrientation( | | iRankProfile, |
| | iOrientation | = CATFrFTopologicalSweepOrientation_Positive) |
-
Sets the profiles orientation (for multi profiles sweep).
- Parameters:
-
- iRankProfile
- The rank (beginning at 1) of the profile.
- iOrientation
- The orientation of the profile:
Legal values: CATFrFTopologicalSweepOrientation_Positive
to take the natural orientation of the profile,
CATFrFTopologicalSweepOrientation_Negative for the opposite orientation.
o SetProfilePosition
public virtual SetProfilePosition( | | iProfileAxis) |
-
Defines the axes system of the profile.
To use in case of profile position type iPositionType=1.
- Parameters:
-
- iProfileAxis
- The axes system of the profile.
o SetProfilePositionType
public virtual SetProfilePositionType( | | iPositionType) |
-
Definition of profile positioning type for a sweep with one or two guides (Sweep unspec and birail).
- Parameters:
-
- iPositionType
- The type of profile positioning.
Legal values:
- 1
- The profile is moved according to the transformation of its
axes system to the axes system of the beginning of the guide.
It is possible to redefine the profile axis system
by using the SetProfilePosition.
If not, the axis system of the beginning of the guide is used and
the sweep starts at the profile location (default mode).
- 2
- The sweep surface passes thru the profile: the profile axes system is
computed by intersecting the mean profile plane and the guide.
This mean profile plane must be perpendicular to the guide.
- 3
- The profile axes system is automatically computed as follows:
- The origin is the start point of the profile.
- The third (Z) direction is normal to the profile medium plane.
- The first (X) direction joins the start and end points of the profile and is normalized.
- The second (Y) direction is completed by the vectorial product Y = Z^X.
^Y
! ****
!* *
*--->X *
- 4
- The sweep surface passes thru the profile. This is the same
as iPositionType=2, except that the mean profile plane need not
intersect guide and be perpendicular to guide.
- 5
- for two guides sweeps only: same as iPositionType=2,
except that the extremities of the profile are not moved to the intersection with guides
* guide points, - profile points, o profile extremities
initial profile:
o----*--...--*---o
current profile with iPositionType=2:
*o---...---o* (zoomed)
moving profile with iPositionType=5:
o----*--...--*---o
o SetProfileScalingOption
public virtual SetProfileScalingOption( | | iScalingOption) |
-
Defines the scaling mode to apply to the profile.
- Parameters:
-
- iScalingOption
- The scaling option
Legal values:
- 0
- Inactive scaling
- 1
- Active scaling (default mode).
o SetPseudoUntwistModeForC0VerticesInError
public virtual SetPseudoUntwistModeForC0VerticesInError( | ) |
-
Asks for managing C0 vertices in topological computation error as pseudo-twisted areas centers.
(untwist and fill twist tools available).
o SetRadiusLaw
public virtual SetRadiusLaw( | | iLaw) |
-
Defines the radius law of a circle sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iLaw
- The pointer to the radius law.
o SetRadiusLaw
public virtual SetRadiusLaw( | | iLaw) |
-
Defines the radius law of a circle sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iLaw
- The pointer to the radius law.
o SetReferenceElement
public virtual SetReferenceElement( | | iReferenceElement) |
-
Defines a variable viewing direction (sweep unspec).
- Parameters:
-
- iReferenceElement
- The pointer to the geometry (CATSurface, skin CATBody). The current point
is projected onto the reference element. The viewing direction is the normal
to the reference element at the projected point.
- In case of a plane, the
viewing direction is constant.
- In case of a skin body, the guide must lay on the reference element.
o SetRelimitationMode
public virtual SetRelimitationMode( | | iRelimitationMode | = CATFrFTopologicalSweepRelimitation_Off) |
-
Sets the relimitation mode by the extremity profiles.
- Parameters:
-
- iRelimitationMode
- The relimitation mode.
o SetRhoLaw
public virtual SetRhoLaw( | | iLaw) |
-
Defines the rho law of a conic sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iLaw
- The pointer to the rho law, defining the conic type.
o SetRhoLaw
public virtual SetRhoLaw( | | iLaw) |
-
Defines the rho law of a conic sweep.
To use according of the chosen sweep case.
- Parameters:
-
- iLaw
- The pointer to the rho law, defining the conic type.
o SetSimplification
public virtual SetSimplification( | | iSimplify | = CATBoolean(1)) |
-
Sets the simplification mode.
- Parameters:
-
- iSimplify
- The simplification mode.
Legal values: TRUE for simplifying the adjacent faces on the same surface
(typically plane), FALSE otherwise (default mode at the operator creation).
o SetSmoothAngleThreshold
public virtual SetSmoothAngleThreshold( | | iAngleThreshold) |
-
Defines the smooth angle threshold.
- Parameters:
-
- iSmoothAngleThreshold
- The threshold for smooth (in radian); any angle below this value will be smoothed
if smooth option has been activated by SetSmoothOption method.
o SetSmoothOption
public virtual SetSmoothOption( | | iSmoothOption | = 0) |
-
Defines a smooth option for moving frame and comb extraction.
- Parameters:
-
- iSmoothOption
- The smoothing option
Legal values: 0 no smoothing will be done
(default mode at operator creation),
1 smoothing will be done.
o SetSolutionChoice
public virtual SetSolutionChoice( | | iSolutionChoice) |
-
Defines the conic, circle or segment to keep if case of ambiguous case.
- Parameters:
-
- iSolutionChoice
- The chosen part. Refer to the encyclopedia documentation.
o SetSpine
public virtual SetSpine( | | iSpine, |
| | iSpineType | = CATFrFTopologicalSweepSpine_Explicit) |
-
Defines the spine.
- Parameters:
-
- iSpine
- The pointer to the CATCurve or the wire body defining the spine. For a multi profiles sweep,
if iSpine=NULL and if
iSpineType=CATFrFTopologicalSweepSpine_Implicit, the spine is automatically computed
using the input profiles.
- iSpineType
- The spine type.
o SetTwistDetection
public virtual SetTwistDetection( | | iTwistDetection) |
-
Defines the twist detection mode.
- Parameters:
-
- iTwistDetection
- The twist detection mode. If 0, no twist detection.
If 1, twists will be detected.
(historical behaviour: must be called if twist detection to be done;
upgraded behaviour if SetUpgradedDefaultSettings() has been called: twist detection is implicitly done)
o SetUntwistMode
public virtual SetUntwistMode( | | iUntwistMode, |
| | iRecoilDistance | = 0.0) |
-
Defines the untwist mode, in which every twisted area will be computed.
- Parameters:
-
- iUntwistMode
- The untwist mode. If 0, no twisted areas computation.
If 1, twisted areas will be computed and available.
If 2, twisted areas will be computed and suppressed from the resulting body.
- iRecoilDistance
- The recoil curvilinear distance on master guide to be used
before and after each twisted area in suppress mode.
o SetUpgradedDefaultSettings
public virtual SetUpgradedDefaultSettings( | | iSettingsLevel | = 0) |
-
Upgrade default operator settings.
(for historical and compatibility reasons old fashioned default settings are still active without this call).
Must be called immediatly after operator creation.
Level 1 default setting changes:
- Twist detection is activated.
- Wrap detection is activated.
- All angles are defined in degree including int Circular Sweep case.
- In case of profile or guide support, internal laydown will be done.
- Parameters:
-
- iSettingsLevel
- the default settings level (if 0, always set the operator to the best so far default settings)
o SetWrapDetection
public virtual SetWrapDetection( | | iWrapDetection) |
-
Defines the wrap detection mode.
- Parameters:
-
- iWrapDetection
- The wrap detection mode. If 0, no wrap computation.
If 1, wrap areas will be computed.
(historical behaviour: must be called if wrap detection to be done;
upgraded behaviour if SetUpgradedDefaultSettings() has been called: wrap detection is implicitly done)
o ValidateCaseNumber
public virtual ValidateCaseNumber( | | iExpectedCase | = 0) |
-
Checks the input data according to the sweep case.
- Parameters:
-
- iExpectedCase
- The expected sweep case to test. If 0, the method tries to determine
the appropriate case in function of the input arguments.
Refer to the encyclopedia for the detailed options of the different sweep cases.
- Returns:
- The case number if it is relevant, 0 if the the case number is
irrelevant, or if the inputs do not correspond to the specified case.
This object is included in the file: CATICGMFrFTopologicalSweep.h
If needed, your Imakefile.mk should include the module: CATGMOperatorsInterfaces
Copyright © 1999-2015, Dassault Systèmes. All rights reserved.