C3D Toolkit  Kernel - 105435, Vision - 121811.105435
+ Collaboration diagram for Object-oriented interface:


struct  ItGCBlackbox
 Blackbox. More...
struct  GCM_geom_axis
 Axis of a planar angle. More...
struct  GCM_c_params
 Structure of constraint parameters. More...
struct  ItConstraintItem
 Geometric constraint. More...
struct  ItMateTransmission
 Interface "Mechanical transmission for two solids". More...
struct  ItCamMechanism
 Interface "Cam mechanism". More...
struct  ItGeom
 Geometrical object. More...
class  MtGeomVariant
 Geometric object, argument of geometric constraint. More...
class  MtMatingGeometry
 Data structure for matched geometry. More...
struct  GCM_undefined< T >
 Undefined value of some datatype. More...
class  MtParVariant
 Numeric or enumerated parameter of constraint. More...
class  MtArgument
 Geometric argument of constraint. More...
class  MtGeomSolver
 Geometric constraint solver. More...
struct  ItPositionManager
 Abstract for control of geom position in the assembly. More...


enum  MtStateOfFreedom { sof_Zero = 0, sof_WellConstrained = sof_Zero, sof_UnderConstrained = 1, sof_Unknown = 2 }
 State of the solid freedom. More...
enum  MtRepositionMode { rep_FreeRotation, rep_FreeMoving, rep_MovingToPoint, rep_RotationAboutAxis }
 Variant of behavior for manipulating the underdetermined system of conjugations. More...


int AlignmentSign (GCM_alignment aVal)
 Get three-valued orientation {-1,0,+1}.
bool Orient (GCM_alignment aVal)
 Get two-valued orientation.
bool TangVariant (GCM_alignment aVal)
 Get two-valued variant of tangency.
bool TangSubVariant (GCM_alignment aVal)
 Get two-valued subvariant of tangency.
GCM_alignment AlignOption (bool axisOrient, bool tangOrient, bool tangSubvariant=false)
 Get code of alignment condition by three two-valued flags of orientation, variant and subvariant of tangency.
void NextSolution (GCM_alignment &)
 Get the next variant of alignment.
void PrevSolution (GCM_alignment &)
 Get the previous variant of alignment.
GCM_system GCM_CreateSystem (ItPositionManager *)
 Create a simple constraint system.
int ItConstraintItem::Arity () const
 Number of geoms involved in the constraint.
ItGeomPtr ItConstraintItem::DependentGeom () const
 Dependent geom of type GCM_DEPENDENT, it is always first geom item.
virtual Motion ItMateTransmission::GetAxis (short nb, MbAxis3D &axis) const =0
 Get direction and type of motion for the first or the second solid, axis is specified in LCS of solid GetDirectionGeom();. More...
GCM_c_arg MtParVariant::CArg () const
 Give as an argument of constraint.
bool MtArgument::operator== (const ItGeom *) const
 Equality operator.

Detailed Description

Enumeration Type Documentation

◆ MtStateOfFreedom

State of the solid freedom.


Fully-specified or fixed solid (zero degree of freedom).


Fully-specified or fixed solid (zero degree of freedom).


Underconstrained solid, i.e. having a degree of freedom.


No information about the degree of freedom.

◆ MtRepositionMode

Variant of behavior for manipulating the underdetermined system of conjugations.


Arbitrary reposition with predominant rotation.


Arbitrary reposition with predominant moving.


Shift in the plane of the screen dragging the cursor by the point.


Rotation around fixed axis.

Shift only one solid.

This mode have been intended for insertion processes of a new solid in the CAD assembly.

Function Documentation

◆ GCM_CreateSystem()

GCM_system GCM_CreateSystem ( ItPositionManager )

Create a simple constraint system.

The call creates an empty constraint system. Besides, there are created internal data structures of geometric solver maintaining the system of constraints. The function returns a special descriptor by which the constraint system is available for various manipulations: addition and deletion of geometric objects, constraints, variation of sizes, dragging underdetermined objects etc.

Descriptor of constraint system.

◆ GetAxis()

ItMateTransmission::GetAxis ( short  nb,
MbAxis3D axis 
) const
pure virtual

Get direction and type of motion for the first or the second solid, axis is specified in LCS of solid GetDirectionGeom();.

The axis is specified in LCS of the solid returned in function ItGeom * ItMateTransmission::GetDirectionGeom( short nb ) const