DATAKIT API  V2025.1
Dtk_KinProduct Class Referenceabstract

Dtk_KinProduct represents a kinematic product. More...

+ Inheritance diagram for Dtk_KinProduct:

Public Member Functions

void addPart (Dtk_KinPartPtr inPart)
 Adds the part. More...
 
void addProduct (Dtk_KinProductPtr inProduct)
 Adds the product. More...
 
Dtk_Int32 DtkDynamicType (const Dtk_Int32 &inId)
 Retrieves the dynamic entity type. More...
 
virtual int DtkDynamicType (const int &inId)=0
 
virtual void dump (FILE *file=stdout)
 
Dtk_status Dump (FILE *inFile, int &inNum)
 Write Dump file for product. More...
 
Dtk_stringfileName ()
 \ brief Accessor for the file name attribute More...
 
type_detk get_type_detk () const
 
Dtk_Size_t getNbPart ()
 Returns the number of part associated. More...
 
Dtk_Size_t getNbProduct ()
 Returns the part by it numChild attribute. More...
 
Dtk_KinPartPtr getPart (Dtk_Size_t inPos)
 Returns the part at position inPos. More...
 
Dtk_KinProductPtr getProduct (Dtk_Size_t inPos)
 Returns the product at position inPos. More...
 
virtual Dtk_Size_t GetSize () const
 
int & id ()
 Accessor for the id attribute. More...
 
Dtk_stringinstanceName ()
 Accessor for the instance name attribute. More...
 
Dtk_stringname ()
 Accessor for the name attribute. More...
 
int & numChild ()
 Accessor for the numChild attribute. More...
 
Dtk_KinProductPtr searchProductByNumChild (int inNumChild)
 Returns the product by it numChild attribute. More...
 
Dtk_ErrorStatus Transform (const Dtk_transfo &inTransfo)
 

Static Public Member Functions

static Dtk_KinProductPtr Create ()
 Base constructor. More...
 
static Dtk_KinProductDtkDynamicCast (Dtk_Object *s)
 Performs a dynamic cast - doesn't need RTTI -. More...
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_KIN_PRODUCT }
 

Protected Member Functions

void _copy (const Dtk_Object &s)
 
void _init ()
 
void _reset ()
 
 Dtk_KinProduct ()
 Default constructor. More...
 
 Dtk_KinProduct (const Dtk_KinProduct &inProd)
 Copy constructor. More...
 
 ~Dtk_KinProduct ()
 Destructor. More...
 

Protected Attributes

Dtk_string _fileName
 
int _ID
 
Dtk_string _instanceName
 
Dtk_string _name
 
int _numChild
 
Dtk_KinPartTab _parts
 
Dtk_KinProductTab _products
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_KinProduct >
 

Detailed Description

Dtk_KinProduct represents a kinematic product.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protected
Enumerator
_typeID 
463  {
465  };

Constructor & Destructor Documentation

◆ Dtk_KinProduct() [1/2]

Dtk_KinProduct::Dtk_KinProduct ( )
protected

Default constructor.

◆ Dtk_KinProduct() [2/2]

Dtk_KinProduct::Dtk_KinProduct ( const Dtk_KinProduct inProd)
protected

Copy constructor.

Parameters
partthe Dtk_KinPart to be copied

◆ ~Dtk_KinProduct()

Dtk_KinProduct::~Dtk_KinProduct ( )
protected

Destructor.

Member Function Documentation

◆ _copy()

void Dtk_Object::_copy ( const Dtk_Object s)
protectedinherited

◆ _init()

void Dtk_Object::_init ( )
protectedinherited

◆ _reset()

void Dtk_Object::_reset ( )
protectedinherited

◆ addPart()

void Dtk_KinProduct::addPart ( Dtk_KinPartPtr  inPart)

Adds the part.

◆ addProduct()

void Dtk_KinProduct::addProduct ( Dtk_KinProductPtr  inProduct)

Adds the product.

◆ Create()

static Dtk_KinProductPtr Dtk_KinProduct::Create ( )
static

Base constructor.

◆ DtkDynamicCast()

static Dtk_KinProduct* Dtk_KinProduct::DtkDynamicCast ( Dtk_Object s)
static

Performs a dynamic cast - doesn't need RTTI -.

496  {
497  if(s->DtkDynamicType(_typeID))
498  return static_cast<Dtk_KinProduct*>(s);
499  return NULL;
500  }

◆ DtkDynamicType() [1/2]

Dtk_Int32 Dtk_KinProduct::DtkDynamicType ( const Dtk_Int32 inId)

Retrieves the dynamic entity type.

486  {
487  if (inId == _typeID)
488  {
489  return 1;
490  }
491  return Dtk_Object::DtkDynamicType(inId);
492  }

◆ DtkDynamicType() [2/2]

◆ dump()

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

◆ Dump()

Dtk_status Dtk_KinProduct::Dump ( FILE *  inFile,
int &  inNum 
)

Write Dump file for product.

Parameters
inFilethe output file

Sample

File * file = fileName.ouvrir_fichier(DTK_W);
product.setName(Dtk_string("sample product"));
product.setId(1);
product.Dump(file);
<product name="sample product" id="1" instanceName="...">
<components>
<!-- Products associated at this product -->
<!-- product.Dump(inFile) -->
<!-- Parts associated at this product -->
<!-- part.Dump(inFile, false) -->
</components>
</product>

◆ fileName()

Dtk_string& Dtk_KinProduct::fileName ( )

\ brief Accessor for the file name attribute

◆ get_type_detk()

type_detk Dtk_KinProduct::get_type_detk ( ) const
Returns
The type of the entity type - DTK_TYPE_KIN_PRODUCT -
503 { return DTK_TYPE_KIN_PRODUCT; }

◆ getNbPart()

Dtk_Size_t Dtk_KinProduct::getNbPart ( )

Returns the number of part associated.

◆ getNbProduct()

Dtk_Size_t Dtk_KinProduct::getNbProduct ( )

Returns the part by it numChild attribute.

◆ getPart()

Dtk_KinPartPtr Dtk_KinProduct::getPart ( Dtk_Size_t  inPos)

Returns the part at position inPos.

◆ getProduct()

Dtk_KinProductPtr Dtk_KinProduct::getProduct ( Dtk_Size_t  inPos)

Returns the product at position inPos.

◆ GetSize()

◆ id()

int& Dtk_KinProduct::id ( )

Accessor for the id attribute.

◆ instanceName()

Dtk_string& Dtk_KinProduct::instanceName ( )

Accessor for the instance name attribute.

◆ name()

Dtk_string& Dtk_KinProduct::name ( )

Accessor for the name attribute.

◆ numChild()

int& Dtk_KinProduct::numChild ( )

Accessor for the numChild attribute.

◆ searchProductByNumChild()

Dtk_KinProductPtr Dtk_KinProduct::searchProductByNumChild ( int  inNumChild)

Returns the product by it numChild attribute.

◆ Transform()

Dtk_ErrorStatus Dtk_KinProduct::Transform ( const Dtk_transfo inTransfo)

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_KinProduct >

friend class Dtk_SmartPtr< Dtk_KinProduct >
friend

Field Documentation

◆ _fileName

Dtk_string Dtk_KinProduct::_fileName
protected

◆ _ID

int Dtk_KinProduct::_ID
protected

◆ _instanceName

Dtk_string Dtk_KinProduct::_instanceName
protected

◆ _name

Dtk_string Dtk_KinProduct::_name
protected

◆ _numChild

int Dtk_KinProduct::_numChild
protected

◆ _parts

Dtk_KinPartTab Dtk_KinProduct::_parts
protected

◆ _products

Dtk_KinProductTab Dtk_KinProduct::_products
protected

◆ count_

unsigned long Dtk_Object::count_
protectedinherited
Dtk_string::ouvrir_fichier
FILE * ouvrir_fichier(const Dtk_string &droits) const
File Utility : Open a file with the given rights.
Dtk_KinProduct::instanceName
Dtk_string & instanceName()
Accessor for the instance name attribute.
Dtk_KinProduct::_typeID
@ _typeID
Definition: util_kinematics_dtk.hpp:464
Dtk_KinProduct::Dump
Dtk_status Dump(FILE *inFile, int &inNum)
Write Dump file for product.
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:58
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:464
DTK_W
#define DTK_W
Definition: dtk_string.hpp:43
Dtk_KinProduct
Dtk_KinProduct represents a kinematic product.
Definition: util_kinematics_dtk.hpp:458
DTK_TYPE_KIN_PRODUCT
@ DTK_TYPE_KIN_PRODUCT
Definition: define.h:555
Dtk_KinProduct::name
Dtk_string & name()
Accessor for the name attribute.
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13
Dtk_Object::DtkDynamicType
virtual int DtkDynamicType(const int &inId)=0
Dtk_KinProduct::fileName
Dtk_string & fileName()
\ brief Accessor for the file name attribute