DATAKIT API  V2025.2
Dtk_Constraint Class Reference

This is the Dtk_Constraint class. More...

+ Inheritance diagram for Dtk_Constraint:

Data Structures

class  _ConstraintValue
 

Public Types

enum  ConstraintOrientationTypeEnum {
  ValueTypeUndefined = 0, ValueTypeSame, ValueTypeOpposite, ValueTypeInternal,
  ValueTypeExternal
}
 
enum  ConstraintTypeEnum {
  TypeUnknown = 0, TypeAlign, TypeAngle, TypeBond,
  TypeCam, TypeCenter, TypeConcentric, TypeCoincidence,
  TypeDistance, TypeFit, TypeFix, TypeGear,
  TypeHinge, TypeLimit, TypeLinear, TypeLinearCoupler,
  TypeLock, TypeOrientAngle, TypeParallel, TypePathMate,
  TypePerpendicular, TypeProfileCenter, TypeRackPinion, TypeScrew,
  TypeSlot, TypeSymmetric, TypeTangent, TypeTouch,
  TypeUniversalJoint, TypeWidth
}
 
enum  ConstraintValueTypeEnum {
  ValueTypeUnknown = 0, ValueTypeAngle, ValueTypeDistance, ValueTypePosition,
  ValueTypeRotation, ValueTypeOrientation
}
 

Public Member Functions

virtual Dtk_ErrorStatus _Store (void *)
 
void AddConstraintReference (const Dtk_ConstraintReferencePtr &in)
 Add a ConstraintReference to this Constraint . More...
 
virtual void conv_ptr (Dtk_Constraint **s)
 
 Dtk_Constraint (const ConstraintTypeEnum &inType)
 
 Dtk_Constraint (const Dtk_Constraint &p)
 
int DtkDynamicType (const int &inId)
 
virtual void dump (FILE *file=stdout)
 
Dtk_InfoPtr get_info () const
 
type_detk get_type_detk () const
 
const Dtk_tab< Dtk_ConstraintReferencePtr > & GetConstraintReference () const
 Get all ConstraintReferences of the Constraint. More...
 
const Dtk_ConstraintReferencePtrGetConstraintReference (const Dtk_Size_t &index) const
 Get the Dtk_ConstraintReference at the specified index. More...
 
const ConstraintTypeEnumGetConstraintType () const
 Get the type of the Constraint . More...
 
const _ConstraintValueGetConstraintValue (const Dtk_Size_t &index) const
 Get the Dtk_Constraint::_ConstraintValue at the specified index. More...
 
const Dtk_IDGetID () const
 Get Internal UniqueID. More...
 
Dtk_Size_t GetNumberOfConstraintReferences () const
 Get the number of Dtk_ConstraintReference in the constraint. More...
 
Dtk_Size_t GetNumberOfConstraintValues ()
 Get the number of Dtk_Constraint::_ConstraintValue in the constraint. More...
 
virtual Dtk_Size_t GetSize () const
 
Dtk_ErrorStatus GetValue (const ConstraintValueTypeEnum &inValue, Dtk_Val &outValue) const
 
Dtk_ErrorStatus GetValue (const ConstraintValueTypeEnum &inValue, Dtk_Val &outValue, Dtk_Int32 &outEnableLowerLimit, Dtk_Double64 &outLowerLimit, Dtk_Int32 &outEnableUpperLimit, Dtk_Double64 &outUpperLimit) const
 Get a Value of the Constraint . More...
 
Dtk_tab< ConstraintValueTypeEnumGetValuesTypes () const
 Get all types of values in the Constraint. More...
 
Dtk_InfoPtrinfo ()
 
Dtk_Constraintoperator= (const Dtk_Constraint &p)
 
virtual void PrepareTransfo ()
 
void SetConstraintType (const ConstraintTypeEnum &in)
 Set the type of the Constraint . More...
 
void SetValue (const ConstraintValueTypeEnum &inValueType, Dtk_Val &inValue)
 
void SetValue (const ConstraintValueTypeEnum &inValueType, Dtk_Val &inValue, const Dtk_Int32 &inEnableLowerLimit, const Dtk_Double64 &inLowerLimit, const Dtk_Int32 &inEnableUpperLimit, const Dtk_Double64 &inUpperLimit)
 Set a Value of the Constraint . More...
 
Dtk_ErrorStatus Transform (const Dtk_transfo &inTransfo)
 Applies a transformation matrix to the entity. //! More...
 

Static Public Member Functions

static Dtk_string ConstraintOrientationTypeEnumToString (const ConstraintOrientationTypeEnum &inEnum)
 
static Dtk_string ConstraintTypeEnumToString (const ConstraintTypeEnum &inEnum)
 
static Dtk_string ConstraintValueTypeEnumToString (const ConstraintValueTypeEnum &inEnum)
 
static Dtk_SmartPtr< Dtk_ConstraintCreate ()
 
static Dtk_ConstraintDtkDynamicCast (Dtk_Object *inObject)
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_ENTITY }
 

Protected Member Functions

void _Copy (const Dtk_Constraint &s)
 
void _copy (const Dtk_Entity &s)
 
void _copy (const Dtk_Object &s)
 
void _init ()
 
void _Init ()
 
void _reset ()
 
void _Reset ()
 
virtual Dtk_ObjectClone ()
 
 Dtk_Constraint ()
 
virtual ~Dtk_Constraint ()
 

Protected Attributes

Dtk_Handle * _Private
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_Constraint >
 

Detailed Description

This is the Dtk_Constraint class.

A Dtk_Constraint contains the AxisSystem definition which defines by its Name, statut and the Matrix

This class lets you use Dtk_Constraint.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ ConstraintOrientationTypeEnum

Enumerator
ValueTypeUndefined 
ValueTypeSame 
ValueTypeOpposite 
ValueTypeInternal 
ValueTypeExternal 
1002  {
1003  ValueTypeUndefined = 0,
1004  ValueTypeSame,
1008  };

◆ ConstraintTypeEnum

Enumerator
TypeUnknown 
TypeAlign 
TypeAngle 
TypeBond 
TypeCam 
TypeCenter 
TypeConcentric 
TypeCoincidence 
TypeDistance 
TypeFit 
TypeFix 
TypeGear 
TypeHinge 
TypeLimit 
TypeLinear 
TypeLinearCoupler 
TypeLock 
TypeOrientAngle 
TypeParallel 
TypePathMate 
TypePerpendicular 
TypeProfileCenter 
TypeRackPinion 
TypeScrew 
TypeSlot 
TypeSymmetric 
TypeTangent 
TypeTouch 
TypeUniversalJoint 
TypeWidth 
1065  {
1066  TypeUnknown = 0,
1068  TypeAlign,
1070  TypeAngle,
1072  TypeBond,
1073  TypeCam,
1075  TypeCenter,
1081  TypeDistance,
1083  TypeFit,
1085  TypeFix,
1086  TypeGear,
1087  TypeHinge,
1088  TypeLimit,
1089  TypeLinear,
1092  TypeLock,
1096  TypeParallel,
1097  TypePathMate,
1102  TypeScrew,
1103  TypeSlot,
1105  TypeSymmetric,
1107  TypeTangent,
1109  TypeTouch,
1111  TypeWidth
1112  };

◆ ConstraintValueTypeEnum

Enumerator
ValueTypeUnknown 
ValueTypeAngle 
ValueTypeDistance 
ValueTypePosition 
ValueTypeRotation 
ValueTypeOrientation 
1023  {
1024  ValueTypeUnknown = 0,
1030  };

Constructor & Destructor Documentation

◆ Dtk_Constraint() [1/3]

Dtk_Constraint::Dtk_Constraint ( const Dtk_Constraint p)

◆ Dtk_Constraint() [2/3]

Dtk_Constraint::Dtk_Constraint ( const ConstraintTypeEnum inType)

◆ Dtk_Constraint() [3/3]

Dtk_Constraint::Dtk_Constraint ( )
protected

◆ ~Dtk_Constraint()

virtual Dtk_Constraint::~Dtk_Constraint ( )
protectedvirtual

Member Function Documentation

◆ _Copy()

void Dtk_Constraint::_Copy ( const Dtk_Constraint s)
protected

◆ _copy() [1/2]

void Dtk_Entity::_copy ( const Dtk_Entity s)
protectedinherited

◆ _copy() [2/2]

void Dtk_Object::_copy ( const Dtk_Object s)
protectedinherited

◆ _init()

void Dtk_Entity::_init ( )
protectedinherited

◆ _Init()

void Dtk_Constraint::_Init ( )
protected

◆ _reset()

void Dtk_Entity::_reset ( )
protectedinherited

◆ _Reset()

void Dtk_Constraint::_Reset ( )
protected

◆ _Store()

◆ AddConstraintReference()

void Dtk_Constraint::AddConstraintReference ( const Dtk_ConstraintReferencePtr in)

Add a ConstraintReference to this Constraint .

◆ Clone()

virtual Dtk_Object* Dtk_Constraint::Clone ( )
protectedvirtual

Implements Dtk_Entity.

1228 { return new Dtk_Constraint(*this); }

◆ ConstraintOrientationTypeEnumToString()

static Dtk_string Dtk_Constraint::ConstraintOrientationTypeEnumToString ( const ConstraintOrientationTypeEnum inEnum)
static
1010  {
1011  switch( inEnum )
1012  {
1013  case ValueTypeSame: return L"TypeSame";
1014  case ValueTypeOpposite: return L"TypeOpposite";
1015  case ValueTypeInternal: return L"TypeInternal";
1016  case ValueTypeExternal: return L"TypeExternal";
1017  default:
1018  case ValueTypeUndefined: return L"TypeUndefined";
1019  }
1020  }

◆ ConstraintTypeEnumToString()

static Dtk_string Dtk_Constraint::ConstraintTypeEnumToString ( const ConstraintTypeEnum inEnum)
static
1114  {
1115  switch (inEnum)
1116  {
1117  case TypeAlign: return L"TypeAlign";
1118  case TypeAngle: return L"TypeAngle";
1119  case TypeBond: return L"TypeBond";
1120  case TypeCam: return L"TypeCam";
1121  case TypeCenter: return L"TypeCenter";
1122  case TypeConcentric: return L"TypeConcentric";
1123  case TypeCoincidence: return L"TypeCoincidence";
1124  case TypeDistance: return L"TypeDistance";
1125  case TypeFit: return L"TypeFit";
1126  case TypeFix: return L"TypeFix";
1127  case TypeGear: return L"TypeGear";
1128  case TypeHinge: return L"TypeHinge";
1129  case TypeLimit: return L"TypeLimit";
1130  case TypeLinear: return L"TypeLinear";
1131  case TypeLinearCoupler: return L"TypeLinearCoupler";
1132  case TypeLock: return L"TypeLock";
1133  case TypeOrientAngle: return L"TypeOrientAngle";
1134  case TypeParallel: return L"TypeParallel";
1135  case TypePathMate: return L"TypePathMate";
1136  case TypePerpendicular: return L"TypePerpendicular";
1137  case TypeProfileCenter: return L"TypeProfileCenter";
1138  case TypeRackPinion: return L"TypeRackPinion";
1139  case TypeScrew: return L"TypeScrew";
1140  case TypeSlot: return L"TypeSlot";
1141  case TypeSymmetric: return L"TypeSymmetric";
1142  case TypeTangent: return L"TypeTangent";
1143  case TypeTouch: return L"TypeTouch";
1144  case TypeUniversalJoint: return L"TypeUniversalJoint";
1145  case TypeWidth: return L"TypeWidth";
1146  default:
1147  case TypeUnknown: return L"Unknown";
1148  }
1149  }

◆ ConstraintValueTypeEnumToString()

static Dtk_string Dtk_Constraint::ConstraintValueTypeEnumToString ( const ConstraintValueTypeEnum inEnum)
static
1032  {
1033  switch( inEnum )
1034  {
1035  case ValueTypeAngle: return L"Angle";
1036  case ValueTypeDistance: return L"Distance";
1037  case ValueTypePosition: return L"Position";
1038  case ValueTypeRotation: return L"Rotation";
1039  case ValueTypeOrientation: return L"Orientation";
1040  default:
1041  case ValueTypeUnknown: return L"TypeUnknown";
1042  }
1043  }

◆ conv_ptr()

virtual void Dtk_Constraint::conv_ptr ( Dtk_Constraint **  s)
virtual
1213 { *s = this; }

◆ Create()

static Dtk_SmartPtr<Dtk_Constraint> Dtk_Constraint::Create ( )
static

◆ DtkDynamicCast()

static Dtk_Constraint* Dtk_Constraint::DtkDynamicCast ( Dtk_Object inObject)
static

◆ DtkDynamicType()

int Dtk_Constraint::DtkDynamicType ( const int &  inId)
virtual

Reimplemented from Dtk_Entity.

◆ dump()

virtual void Dtk_Object::dump ( FILE *  file = stdout)
virtualinherited

◆ get_info()

Dtk_InfoPtr Dtk_Entity::get_info ( ) const
inherited

◆ get_type_detk()

type_detk Dtk_Constraint::get_type_detk ( ) const
virtual
Returns
The type of the entity type - DTK_TYPE_CONSTRAINT -

Implements Dtk_Entity.

1210 { return DTK_TYPE_CONSTRAINT; }

◆ GetConstraintReference() [1/2]

const Dtk_tab<Dtk_ConstraintReferencePtr>& Dtk_Constraint::GetConstraintReference ( ) const

Get all ConstraintReferences of the Constraint.

Returns
A tab with all the ConstraintReferences of this Constraint.

◆ GetConstraintReference() [2/2]

const Dtk_ConstraintReferencePtr& Dtk_Constraint::GetConstraintReference ( const Dtk_Size_t index) const

Get the Dtk_ConstraintReference at the specified index.

Parameters
Theindex to retrieve the Dtk_ConstraintReference from.
Returns
A Dtk_ConstraintReference.

◆ GetConstraintType()

const ConstraintTypeEnum& Dtk_Constraint::GetConstraintType ( ) const

Get the type of the Constraint .

Returns
the type of this Constraint .

◆ GetConstraintValue()

const _ConstraintValue& Dtk_Constraint::GetConstraintValue ( const Dtk_Size_t index) const

Get the Dtk_Constraint::_ConstraintValue at the specified index.

Returns
A Dtk_Constraint::_ConstraintValue.

◆ GetID()

const Dtk_ID& Dtk_Entity::GetID ( ) const
inherited

Get Internal UniqueID.

Returns
InternalID

◆ GetNumberOfConstraintReferences()

Dtk_Size_t Dtk_Constraint::GetNumberOfConstraintReferences ( ) const

Get the number of Dtk_ConstraintReference in the constraint.

Returns
The number of Dtk_ConstraintReference in the constraint.

◆ GetNumberOfConstraintValues()

Dtk_Size_t Dtk_Constraint::GetNumberOfConstraintValues ( )

Get the number of Dtk_Constraint::_ConstraintValue in the constraint.

Returns
The number of Dtk_Constraint::_ConstraintValue in the constraint.

◆ GetSize()

◆ GetValue() [1/2]

Dtk_ErrorStatus Dtk_Constraint::GetValue ( const ConstraintValueTypeEnum inValue,
Dtk_Val outValue 
) const

◆ GetValue() [2/2]

Dtk_ErrorStatus Dtk_Constraint::GetValue ( const ConstraintValueTypeEnum inValue,
Dtk_Val outValue,
Dtk_Int32 outEnableLowerLimit,
Dtk_Double64 outLowerLimit,
Dtk_Int32 outEnableUpperLimit,
Dtk_Double64 outUpperLimit 
) const

Get a Value of the Constraint .

Returns
a Value of this Constraint .

◆ GetValuesTypes()

Dtk_tab< ConstraintValueTypeEnum > Dtk_Constraint::GetValuesTypes ( ) const

Get all types of values in the Constraint.

Returns
All types of values contained in the Constraint.

◆ info()

Dtk_InfoPtr& Dtk_Entity::info ( )
inherited

◆ operator=()

Dtk_Constraint& Dtk_Constraint::operator= ( const Dtk_Constraint p)

◆ PrepareTransfo()

virtual void Dtk_Entity::PrepareTransfo ( )
virtualinherited

Reimplemented in Dtk_OffsetSurface.

◆ SetConstraintType()

void Dtk_Constraint::SetConstraintType ( const ConstraintTypeEnum in)

Set the type of the Constraint .

◆ SetValue() [1/2]

void Dtk_Constraint::SetValue ( const ConstraintValueTypeEnum inValueType,
Dtk_Val inValue 
)

◆ SetValue() [2/2]

void Dtk_Constraint::SetValue ( const ConstraintValueTypeEnum inValueType,
Dtk_Val inValue,
const Dtk_Int32 inEnableLowerLimit,
const Dtk_Double64 inLowerLimit,
const Dtk_Int32 inEnableUpperLimit,
const Dtk_Double64 inUpperLimit 
)

Set a Value of the Constraint .

◆ Transform()

Dtk_ErrorStatus Dtk_Constraint::Transform ( const Dtk_transfo inTransfo)
virtual

Applies a transformation matrix to the entity. //!

Parameters
inTransfoThe transformation matrix to apply.

Implements Dtk_Entity.

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_Constraint >

friend class Dtk_SmartPtr< Dtk_Constraint >
friend

Field Documentation

◆ _Private

Dtk_Handle* Dtk_Constraint::_Private
protected

◆ count_

unsigned long Dtk_Object::count_
protectedinherited
Dtk_Constraint::TypeFix
@ TypeFix
Definition: util_ent_dtk.hpp:1085
Dtk_Constraint::TypeSlot
@ TypeSlot
Definition: util_ent_dtk.hpp:1103
Dtk_Constraint::TypeLinearCoupler
@ TypeLinearCoupler
Definition: util_ent_dtk.hpp:1090
Dtk_Constraint::TypeWidth
@ TypeWidth
Definition: util_ent_dtk.hpp:1111
Dtk_Constraint::TypeAlign
@ TypeAlign
Definition: util_ent_dtk.hpp:1068
DTK_TYPE_ENTITY
@ DTK_TYPE_ENTITY
Definition: define.h:466
Dtk_Constraint::Dtk_Constraint
Dtk_Constraint()
Dtk_Constraint::ValueTypeSame
@ ValueTypeSame
Definition: util_ent_dtk.hpp:1004
Dtk_Constraint::TypeSymmetric
@ TypeSymmetric
Definition: util_ent_dtk.hpp:1105
Dtk_Constraint::TypeBond
@ TypeBond
Definition: util_ent_dtk.hpp:1072
Dtk_Constraint::ValueTypeInternal
@ ValueTypeInternal
Definition: util_ent_dtk.hpp:1006
Dtk_Constraint::TypeUnknown
@ TypeUnknown
Definition: util_ent_dtk.hpp:1066
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:464
Dtk_Constraint::ValueTypeExternal
@ ValueTypeExternal
Definition: util_ent_dtk.hpp:1007
Dtk_Constraint::ValueTypeOrientation
@ ValueTypeOrientation
Definition: util_ent_dtk.hpp:1029
Dtk_Constraint::ValueTypeDistance
@ ValueTypeDistance
Definition: util_ent_dtk.hpp:1026
Dtk_Constraint::ValueTypeAngle
@ ValueTypeAngle
Definition: util_ent_dtk.hpp:1025
Dtk_Constraint::ValueTypeRotation
@ ValueTypeRotation
Definition: util_ent_dtk.hpp:1028
Dtk_Constraint::TypeTouch
@ TypeTouch
Definition: util_ent_dtk.hpp:1109
Dtk_Constraint::TypeAngle
@ TypeAngle
Definition: util_ent_dtk.hpp:1070
Dtk_Constraint::TypePerpendicular
@ TypePerpendicular
Definition: util_ent_dtk.hpp:1099
Dtk_Constraint::TypeHinge
@ TypeHinge
Definition: util_ent_dtk.hpp:1087
Dtk_Constraint::TypeConcentric
@ TypeConcentric
Definition: util_ent_dtk.hpp:1077
Dtk_Constraint::TypeParallel
@ TypeParallel
Definition: util_ent_dtk.hpp:1096
Dtk_Constraint::ValueTypePosition
@ ValueTypePosition
Definition: util_ent_dtk.hpp:1027
Dtk_Constraint::TypeUniversalJoint
@ TypeUniversalJoint
Definition: util_ent_dtk.hpp:1110
Dtk_Constraint::TypeFit
@ TypeFit
Definition: util_ent_dtk.hpp:1083
Dtk_Entity::_typeID
@ _typeID
Definition: util_ent_dtk.hpp:340
Dtk_Constraint::TypeCam
@ TypeCam
Definition: util_ent_dtk.hpp:1073
Dtk_Constraint::TypePathMate
@ TypePathMate
Definition: util_ent_dtk.hpp:1097
Dtk_Constraint::ValueTypeOpposite
@ ValueTypeOpposite
Definition: util_ent_dtk.hpp:1005
Dtk_Constraint::ValueTypeUndefined
@ ValueTypeUndefined
Definition: util_ent_dtk.hpp:1003
Dtk_Constraint::TypeProfileCenter
@ TypeProfileCenter
Definition: util_ent_dtk.hpp:1100
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13
Dtk_Constraint::TypeOrientAngle
@ TypeOrientAngle
Definition: util_ent_dtk.hpp:1094
Dtk_Constraint::TypeDistance
@ TypeDistance
Definition: util_ent_dtk.hpp:1081
DTK_TYPE_CONSTRAINT
@ DTK_TYPE_CONSTRAINT
Definition: define.h:608
Dtk_Constraint::TypeCoincidence
@ TypeCoincidence
Definition: util_ent_dtk.hpp:1079
Dtk_Constraint::TypeLimit
@ TypeLimit
Definition: util_ent_dtk.hpp:1088
Dtk_Constraint::ValueTypeUnknown
@ ValueTypeUnknown
Definition: util_ent_dtk.hpp:1024
Dtk_Constraint::TypeTangent
@ TypeTangent
Definition: util_ent_dtk.hpp:1107
Dtk_Constraint::TypeScrew
@ TypeScrew
Definition: util_ent_dtk.hpp:1102
Dtk_Constraint::TypeGear
@ TypeGear
Definition: util_ent_dtk.hpp:1086
Dtk_Constraint::TypeLinear
@ TypeLinear
Definition: util_ent_dtk.hpp:1089
Dtk_Constraint::TypeLock
@ TypeLock
Definition: util_ent_dtk.hpp:1092
Dtk_Constraint::TypeRackPinion
@ TypeRackPinion
Definition: util_ent_dtk.hpp:1101
Dtk_Constraint::TypeCenter
@ TypeCenter
Definition: util_ent_dtk.hpp:1075