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 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.


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
public virtual 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.