GMOperatorsInterfaces CATICGMTopCorner
Usage: you must use this class as is. You should never derive it.
public class CATICGMTopCorner
Class representing the operator that computes a round corner between two wire bodies.
There is no unique solution to the corner computation: the input wires
cut the corner in two portions. These two portions can be retrieved together, or one can choose
the portion to keep (CATCircleMode).
Moreover, when choosing the Direct or Complementary modes, the operator
can assemble the computed corner
on the input wires on demand (SetSupportTrimmingMode).
The center of the corner is defined at the intersection of the parallels
to the input wires. Once given a wire on a shell, there are two parallel
to a wire: one on each side. The side defines the orientation of the
parallel:
- The cross product of the normal to the shell and the tangent to the wire is positive
side (+1)
- The opposite of the cross product of the normal to the shell and the tangent
to the wire is the negative side (-1).
The CATICGMTopCorner operator satisfies the smart mechanism: the
input bodies are not modified. A new resulting body is created,
possibly sharing data with the input bodies.
It follows the global frame of the topological operators, except that it can return several
bodies, corresponding to the multiple solution it found.
- A CATICGMTopCorner operator is created with the CATCGMCreateTopCorner global method.
It must be directly released with the Release method after use. It is not streamable.
- Options can be precised with the SetXxx methods, before
asking for the computation with the Run method.
- The result is accessed with
- the GetResult method: all the computed corners are put in the same resulting body.
- the iterator on the solutions (BeginningCorner, NextCorner, GetCorner):
each solution corner is put in a different body.
If you do not want
to keep the resulting bodies, use the method to remove them from the geometric factory, after the operator deletion.
Constructor and Destructor Index
- o
CATICGMTopCorner()
- Constructor
Method Index
- o
BeginningCorner()
- Initializes the iterator of the resulting corners.
- o
GetCenterRadius(CATMathPoint&,double&)
- Returns the definition of the current corner.
- o
GetCircleMode(CATCircleMode&,double&,double&)
- Retrieves the relimitation mode of this corner operator.
- o
GetCorner(CATCGMJournalList*)
- Creates the current corner.
- o
GetCurOrients(CATOrientation&,CATOrientation&,CATOrientation&)
- Retrieves the orientation of the parallels used to compute the center
of the corner.
- o
GetDirection(CATMathDirection&,CATBoolean&)
- Get the direction.
- o
GetNumberOfCorners()
- Returns the number of computed corners.
- o
GetOffsetOrientation(int&,int&,int&)
- Retrieves the defined orientations to take for the parallels to the input wires.
- o
GetResult()
- Returns all the computed corners in a single body.
- o
GetSupportTrimmingSideAndMode(CATLONG32&,CATLONG32&)
- Returns whether the input wires can be assembled in the resulting body, and how they can be assembled.
- o
NextCorner()
- Skips to the next solution corner of this CATICGMTopCorner operator.
- o
Run()
- Runs this operator.
- o
SetCircleMode(CATCircleMode,double,double)
- Defines the relimition mode of this corner operator.
- o
SetDirection(CATMathDirection&)
- Set the direction .
- o
SetOffsetOrientation(int,int,int)
- Defines the orientations to take for the parallels to the input wires.
- o
SetSupportTrimmingSideAndMode(CATLONG32,CATLONG32)
- Defines whether the input wires can be assembled in the resulting body, and how they can be assembled.
Constructor and Destructor
o CATICGMTopCorner
public CATICGMTopCorner( | ) |
-
Constructor
Methods
o BeginningCorner
public virtual BeginningCorner( | ) |
-
Initializes the iterator of the resulting corners.
o GetCenterRadius
public virtual GetCenterRadius( | | ioCenter, |
| | ioRadius) |
-
Returns the definition of the current corner.
To be called after the GetCorner method.
- Parameters:
-
- ioCenter
- The center of the current corner.
- ioRadius
- The radius value of the current corner.
o GetCircleMode
public virtual GetCircleMode( | | ioCircleMode, |
| | ioStart, |
| | ioEnd) |
-
Retrieves the relimitation mode of this corner operator.
- Parameters:
-
- ioCircleMode
- The relimitation mode.
- ioStart
- The value is not touched.
- ioEnd
- The value is not touched.
o GetCorner
public virtual GetCorner( | | iCurrentJournal | = NULL) |
-
Creates the current corner.
- Parameters:
-
- iCurrentJournal
- The pointer to the journal corresponding to the creation of the current corner.
If NULL, the journal is not written.
- Returns:
- The pointer to the created body. If you do not want to keep it,
use the @CATICGMContainer#Remove method to remove it from the geometric factory, after the deletion
of this operator.
o GetCurOrients
public virtual GetCurOrients( | | ioOr1, |
| | ioOr2, |
| | ioOr3) |
-
Retrieves the orientation of the parallels used to compute the center
of the corner.
- Parameters:
-
- ioOr1
- The orientation of the parallel to the first wire.
- ioOr2
- The orientation of the parallel to the second wire.
- ioOr3
- The orientation of the parallel to the third wire, only in case of
tritangent corner.
o GetDirection
public virtual GetDirection( | | oDirectionFor3DCorner, |
| | oAutomaticModeForDirection) |
-
Get the direction.
To be used only in case of 3D corner definition (by default a direction will be automatically calculated)
- Parameters:
-
- oDirectionFor3DCorner
- The computed direction.
- oAutomaticModeForDirection
- Returns whether the direction has been computed.
o GetNumberOfCorners
public virtual GetNumberOfCorners( | ) |
-
Returns the number of computed corners.
- Returns:
- The number of corners.
o GetOffsetOrientation
public virtual GetOffsetOrientation( | | ioOrientCrv1, |
| | ioOrientCrv2, |
| | ioOrientCrv3) |
-
Retrieves the defined orientations to take for the parallels to the input wires.
- Parameters:
-
- ioOrientCrv1
- The orientation of the parallel to the first wire. If 0,
the two sides parallels are computed.
- ioOrientCrv2
- The orientation of the parallel to the second wire. If 0,
the two sides parallels are computed.
- ioOrientCrv3
- The orientation of the parallel to the third wire. If 0,
the two sides parallels are computed. In case of tritangent corner only.
o GetResult
public virtual GetResult( | ) |
-
Returns all the computed corners in a single body.
In this case, GetNumberOfCorners and GetResult()->GetNumberOfDomain() can be different.
- Returns:
- The pointer to the resulting body. If you do not want to keep it, use the
method to remove it from the geometric factory after the deletion of this operator.
o GetSupportTrimmingSideAndMode
public virtual GetSupportTrimmingSideAndMode( | | oTrimmingSide, |
| | oTrimmingMode) |
-
Returns whether the input wires can be assembled in the resulting body, and how they can be assembled.
In this case, the iterator cannot be used.
- Parameters:
-
- oTrimmingSide
- The assembly side.
Legal values:
0 if the assembly can be done for all input wires,
1 if the assembly can be done just for the first input wire,
2 if the assembly can be done just for the last input wire.
- oTrimmingMode
- The assembly mode.
Legal values:
1 if the assembly must be done, 0 otherwise.
- Returns:
- 0 if the assembly is compatible with the relimitation mode, 1 otherwise.
o NextCorner
public virtual NextCorner( | ) |
-
Skips to the next solution corner of this CATICGMTopCorner operator.
After BeginningCorner, it skips to the first solution.
- Returns:
- The existence of the next solution.
Legal values:
- TRUE
- if there is a solution
- FALSE
- no more solution.
o Run
-
Runs this operator.
o SetCircleMode
public virtual SetCircleMode( | | iCircleMode, |
| | iStart | = 0.0, |
| | iEnd | = 0.0) |
-
Defines the relimition mode of this corner operator.
- Parameters:
-
- iCircleMode
- The relimitation mode of the corner. Do not use the Angular
value.
- iStart
- Not to be used.
- iEnd
- Not to be used.
- Returns:
- 0 if the relimitation mode is compatible with the assembly mode, 1 otherwise.
In this last case, the Direct mode must be set.
o SetDirection
public virtual SetDirection( | const | iDirectionFor3DCorner) |
-
Set the direction .
To be used only in case of 3D corner definition (by default a direction will be automatically calculated)
- Parameters:
-
- iDirectionFor3DCorner
- This is the direction of the cylinder which will be the support of the 3D corner.
o SetOffsetOrientation
public virtual SetOffsetOrientation( | | iOrientCrv1, |
| | iOrientCrv2, |
| | iOrientCrv3 | = 0) |
-
Defines the orientations to take for the parallels to the input wires.
- Parameters:
-
- iOrientCrv1
- The orientation of the parallel to the first wire. If 0,
the two sides parallels are computed.
- iOrientCrv2
- The orientation of the parallel to the second wire. If 0,
the two sides parallels are computed.
- iOrientCrv3
- The orientation of the parallel to the third wire. If 0,
the two sides parallels are computed. In case of tritangent corner only.
o SetSupportTrimmingSideAndMode
public virtual SetSupportTrimmingSideAndMode( | const | iTrimmingSide, |
| const | iTrimmingMode) |
-
Defines whether the input wires can be assembled in the resulting body, and how they can be assembled.
- Parameters:
-
- iTrimmingSide
- The assembly side
Legal values:
0 if the assembly can be done for all input wires,
1 if the assembly can be done just for the first input wire,
2 if the assembly can be done just for the last input wire.
- iTrimmingMode
- The assembly mode.
Legal values:
1 if the assembly must be done, 0 otherwise.
- Returns:
-
Legal values:
1 if the assembly must be done, 0 otherwise.
In this last case, CATCircleMode must changed to Direct.
This object is included in the file: CATICGMTopCorner.h
If needed, your Imakefile.mk should include the module: CATGMOperatorsInterfaces
Copyright © 1999-2015, Dassault Systèmes. All rights reserved.