DATAKIT API  V2025.1
Dtk_ReferenceBlock Class Referenceabstract

This is the Dtk_ReferenceBlock Class.
It is part of the Dtk_ReferenceFrame entity. More...

+ Inheritance diagram for Dtk_ReferenceBlock:

Public Member Functions

Dtk_ErrorStatus AddReference (Dtk_string inFullTextWithMaterialCondition, const Dtk_FdtPtr &inLinkedFdt)
 Add a reference to the Dtk_ReferenceBlock. More...
 
Dtk_ErrorStatus AddReference (Dtk_string inReferenceLabel, const DTK_FDT_MODIFIER &inMaterialModifier=DTK_FDT_MODIFIER_NONE, const Dtk_FdtPtr &inLinkedFdt=NULL)
 Add a reference to the Dtk_ReferenceBlock. More...
 
Dtk_string ConvertToDtk_String () const
 Converts the Dtk_ReferenceBlock into a Dtk_string - used for Dtk_Symbol conversion -. 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_ErrorStatus GetAnchorPoints (Dtk_pnt(&outTabPoints)[DTK_NB_ANCHOR_TYPES], const Dtk_Double64 &inOffSet=0.0) const
 Processes all the Dtk_ReferenceBlock anchor points. More...
 
Dtk_Oriented2dBBox GetInnerBoundingBox () const
 
Dtk_FdtPtr GetLinkedtFdt (const Dtk_Size_t &inReferencePos) const
 Retrieves the Linked Fdt. More...
 
DTK_FDT_MODIFIER GetMaterialModifier (const Dtk_Size_t &inReferencePos) const
 Retrieves the material modifier related to the ith reference. More...
 
Dtk_Size_t GetNumReferences () const
 Retrieves the references number. More...
 
Dtk_Oriented2dBBox GetOuterBoundingBox () const
 
const Dtk_stringGetReferenceLabel (const Dtk_Size_t &inReferencePos) const
 Retrieves the ith reference label - read only -. More...
 
virtual Dtk_Size_t GetSize () const
 
Dtk_ReferenceBlockoperator= (const Dtk_ReferenceBlock &inToBeAssigned)
 Full featured constructor. More...
 
Dtk_ReferenceBlockoperator= (Dtk_ReferenceBlock &&inToBeMoved) DTK_NOEXCEPT
 \MoveOp{inToBeAssigned} More...
 
Dtk_ErrorStatus SetAnchorPoint (const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_Double64 &inOffSet=0.0)
 Sets the Dtk_ReferenceBlock anchor point. More...
 
void SetInnerBoundingBox (const Dtk_Oriented2dBBox &inInnerBBox)
 Set the inner Bounding Box. More...
 
void SetOuterBoundingBox (const Dtk_Oriented2dBBox &inOuterBBox) const
 Set the outer Bounding Box. More...
 
Dtk_ErrorStatus SetXAxis (const Dtk_dir &ref_dir)
 Sets the X Axis for the Dtk_CompositeText and included Dtk_Texts. More...
 
Dtk_ErrorStatus SetYAxis (const Dtk_dir &axis_dir)
 Sets the Y Axis for the Dtk_CompositeText and included Dtk_Texts. More...
 
Dtk_ErrorStatus Transform (const Dtk_transfo &inTransfo)
 Applies a transformation matrix to the entity. //! More...
 
void Translate (const Dtk_dir &inTranslationDir)
 Translates the Dtk_ReferenceBlock - internal use only -. More...
 

Static Public Member Functions

static Dtk_ReferenceBlockPtr Create (const Dtk_Oriented2dBBox &inInnerBBox, const Dtk_Oriented2dBBox &inOuterBBox)
 Base constructor. More...
 
static Dtk_ReferenceBlockPtr Create (const Dtk_ReferenceBlock &s)
 Copy Constructor. More...
 
static Dtk_ReferenceBlockPtr Create (Dtk_ReferenceBlock &&s)
 Move Constructor. More...
 
static Dtk_ReferenceBlockDtkDynamicCast (Dtk_Object *s)
 Performs a dynamic cast - doesn't need RTTI -. More...
 

Protected Types

enum  { _typeID = DTK_TYPE_OBJECT }
 
enum  { _typeID = DTK_TYPE_REFERENCE }
 

Protected Member Functions

void _ConcatenateMaterialModifierToText (const Dtk_Size_t &inReferencePos, const DTK_FDT_MODIFIER &inMaterialModifier)
 Internal use only. More...
 
void _copy (const Dtk_Object &s)
 
void _init ()
 
void _ReplaceFirstMaterialModifer (const Dtk_Size_t &inReferencePos, const DTK_FDT_MODIFIER &inMaterialModifier)
 Internal use only. More...
 
void _reset ()
 
virtual Dtk_ObjectClone ()
 
 Dtk_ReferenceBlock (const Dtk_Oriented2dBBox &inInnerBBox, const Dtk_Oriented2dBBox &inOuterBBox)
 Base Constructor. More...
 
 Dtk_ReferenceBlock (const Dtk_ReferenceBlock &s)
 Copy Constructor. More...
 
 Dtk_ReferenceBlock (Dtk_ReferenceBlock &&s) DTK_NOEXCEPT
 Move Constructor. More...
 
 ~Dtk_ReferenceBlock ()
 Destructor. More...
 

Protected Attributes

Dtk_Handle * _Private
 
unsigned long count_
 

Friends

class Dtk_SmartPtr< Dtk_ReferenceBlock >
 

Detailed Description

This is the Dtk_ReferenceBlock Class.
It is part of the Dtk_ReferenceFrame entity.

See also
Please use the Dtk_ReferenceBlockPtr class to handle it...

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
_typeID 

◆ anonymous enum

anonymous enum
protected
Enumerator
_typeID 
5118  {
5120  };

Constructor & Destructor Documentation

◆ Dtk_ReferenceBlock() [1/3]

Dtk_ReferenceBlock::Dtk_ReferenceBlock ( const Dtk_Oriented2dBBox inInnerBBox,
const Dtk_Oriented2dBBox inOuterBBox 
)
protected

Base Constructor.

◆ Dtk_ReferenceBlock() [2/3]

Dtk_ReferenceBlock::Dtk_ReferenceBlock ( const Dtk_ReferenceBlock s)
protected

Copy Constructor.

◆ Dtk_ReferenceBlock() [3/3]

Dtk_ReferenceBlock::Dtk_ReferenceBlock ( Dtk_ReferenceBlock &&  s)
protected

Move Constructor.

◆ ~Dtk_ReferenceBlock()

Dtk_ReferenceBlock::~Dtk_ReferenceBlock ( )
protected

Destructor.

Member Function Documentation

◆ _ConcatenateMaterialModifierToText()

void Dtk_ReferenceBlock::_ConcatenateMaterialModifierToText ( const Dtk_Size_t inReferencePos,
const DTK_FDT_MODIFIER inMaterialModifier 
)
protected

Internal use only.

◆ _copy()

void Dtk_Object::_copy ( const Dtk_Object s)
protectedinherited

◆ _init()

void Dtk_Object::_init ( )
protectedinherited

◆ _ReplaceFirstMaterialModifer()

void Dtk_ReferenceBlock::_ReplaceFirstMaterialModifer ( const Dtk_Size_t inReferencePos,
const DTK_FDT_MODIFIER inMaterialModifier 
)
protected

Internal use only.

◆ _reset()

void Dtk_Object::_reset ( )
protectedinherited

◆ AddReference() [1/2]

Dtk_ErrorStatus Dtk_ReferenceBlock::AddReference ( Dtk_string  inFullTextWithMaterialCondition,
const Dtk_FdtPtr inLinkedFdt 
)

Add a reference to the Dtk_ReferenceBlock.

Parameters
inFullTextWithMaterialConditionThe reference label.
May contain also material modifier.
inLinkedFdtThe FDT to be linked - NULL by default -.
Returns
DtkNoError if OK.

◆ AddReference() [2/2]

Dtk_ErrorStatus Dtk_ReferenceBlock::AddReference ( Dtk_string  inReferenceLabel,
const DTK_FDT_MODIFIER inMaterialModifier = DTK_FDT_MODIFIER_NONE,
const Dtk_FdtPtr inLinkedFdt = NULL 
)

Add a reference to the Dtk_ReferenceBlock.

Parameters
inReferenceLabelThe reference label.
inMaterialModifierThe reference material modifier.
inLinkedFdtThe FDT to be linked - NULL by default -.
Returns
DtkNoError if OK.

◆ Clone()

virtual Dtk_Object* Dtk_ReferenceBlock::Clone ( )
protectedvirtual
5140 { return new Dtk_ReferenceBlock(*this); }

◆ ConvertToDtk_String()

Dtk_string Dtk_ReferenceBlock::ConvertToDtk_String ( ) const

Converts the Dtk_ReferenceBlock into a Dtk_string - used for Dtk_Symbol conversion -.

Returns
The converted Dtk_string

◆ Create() [1/3]

static Dtk_ReferenceBlockPtr Dtk_ReferenceBlock::Create ( const Dtk_Oriented2dBBox inInnerBBox,
const Dtk_Oriented2dBBox inOuterBBox 
)
static

Base constructor.

◆ Create() [2/3]

static Dtk_ReferenceBlockPtr Dtk_ReferenceBlock::Create ( const Dtk_ReferenceBlock s)
static

Copy Constructor.

◆ Create() [3/3]

static Dtk_ReferenceBlockPtr Dtk_ReferenceBlock::Create ( Dtk_ReferenceBlock &&  s)
static

Move Constructor.

◆ DtkDynamicCast()

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

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

◆ DtkDynamicType() [1/2]

Dtk_Int32 Dtk_ReferenceBlock::DtkDynamicType ( const Dtk_Int32 inId)

Retrieves the dynamic entity type.

◆ DtkDynamicType() [2/2]

◆ dump()

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

◆ GetAnchorPoints()

Dtk_ErrorStatus Dtk_ReferenceBlock::GetAnchorPoints ( Dtk_pnt(&)  outTabPoints[DTK_NB_ANCHOR_TYPES],
const Dtk_Double64 inOffSet = 0.0 
) const

Processes all the Dtk_ReferenceBlock anchor points.

Parameters
outTabPntsThe resulting anchor point array.
inOffSet- internal use only -.
Returns
dtkNoError if OK

◆ GetInnerBoundingBox()

Dtk_Oriented2dBBox Dtk_ReferenceBlock::GetInnerBoundingBox ( ) const

◆ GetLinkedtFdt()

Dtk_FdtPtr Dtk_ReferenceBlock::GetLinkedtFdt ( const Dtk_Size_t inReferencePos) const

Retrieves the Linked Fdt.

Returns
The linked Fdt

◆ GetMaterialModifier()

DTK_FDT_MODIFIER Dtk_ReferenceBlock::GetMaterialModifier ( const Dtk_Size_t inReferencePos) const

Retrieves the material modifier related to the ith reference.

Parameters
inReferencePosThe reference index.
Returns
the related material modifier.

◆ GetNumReferences()

Dtk_Size_t Dtk_ReferenceBlock::GetNumReferences ( ) const

Retrieves the references number.

Returns
The number of references included into the Dtk_ReferenceBlock.

◆ GetOuterBoundingBox()

Dtk_Oriented2dBBox Dtk_ReferenceBlock::GetOuterBoundingBox ( ) const

◆ GetReferenceLabel()

const Dtk_string& Dtk_ReferenceBlock::GetReferenceLabel ( const Dtk_Size_t inReferencePos) const

Retrieves the ith reference label - read only -.

Parameters
inReferencePosThe reference index
Returns
the ith reference label
See also
GetReferenceLabel(const Dtk_Size_t &)

◆ GetSize()

◆ operator=() [1/2]

Dtk_ReferenceBlock& Dtk_ReferenceBlock::operator= ( const Dtk_ReferenceBlock inToBeAssigned)

Full featured constructor.

Parameters
inFullTextWithMaterialConditionThe Transformation Matrix
inLinkedFdtThe FDT to be linked.
Returns
the created Dtk_ReferenceBlockPtr

Assignment Operator.

Parameters
inToBeAssignedObject to copy.

◆ operator=() [2/2]

Dtk_ReferenceBlock& Dtk_ReferenceBlock::operator= ( Dtk_ReferenceBlock &&  inToBeMoved)

\MoveOp{inToBeAssigned}

◆ SetAnchorPoint()

Dtk_ErrorStatus Dtk_ReferenceBlock::SetAnchorPoint ( const Dtk_pnt inNewLocation,
const Dtk_anchor_type inLocationAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
const Dtk_Double64 inOffSet = 0.0 
)

Sets the Dtk_ReferenceBlock anchor point.

Parameters
inNewLocationThe new location point.
inLocationAnchorTypeThe anchor type related to the new location.
inOffSetFor internal use only.
Returns
dtkNoError if OK

◆ SetInnerBoundingBox()

void Dtk_ReferenceBlock::SetInnerBoundingBox ( const Dtk_Oriented2dBBox inInnerBBox)

Set the inner Bounding Box.

Parameters
inInnerBBoxThe inner Bounding Box.

◆ SetOuterBoundingBox()

void Dtk_ReferenceBlock::SetOuterBoundingBox ( const Dtk_Oriented2dBBox inOuterBBox) const

Set the outer Bounding Box.

Parameters
inOuterBBoxThe outer Bounding Box.

◆ SetXAxis()

Dtk_ErrorStatus Dtk_ReferenceBlock::SetXAxis ( const Dtk_dir ref_dir)

Sets the X Axis for the Dtk_CompositeText and included Dtk_Texts.

Parameters
inXAxisThe new X Axis
Returns
dtkNoError if OK

◆ SetYAxis()

Dtk_ErrorStatus Dtk_ReferenceBlock::SetYAxis ( const Dtk_dir axis_dir)

Sets the Y Axis for the Dtk_CompositeText and included Dtk_Texts.

Parameters
inYAxisThe new Y Axis
Returns
dtkNoError if OK

◆ Transform()

Dtk_ErrorStatus Dtk_ReferenceBlock::Transform ( const Dtk_transfo inTransfo)

Applies a transformation matrix to the entity. //!

Parameters
inTransfoThe transformation matrix to apply.

◆ Translate()

void Dtk_ReferenceBlock::Translate ( const Dtk_dir inTranslationDir)

Translates the Dtk_ReferenceBlock - internal use only -.

Parameters
inTranslationDirthe translation vector.

Friends And Related Function Documentation

◆ Dtk_SmartPtr< Dtk_ReferenceBlock >

friend class Dtk_SmartPtr< Dtk_ReferenceBlock >
friend

Field Documentation

◆ _Private

Dtk_Handle* Dtk_ReferenceBlock::_Private
protected

◆ count_

unsigned long Dtk_Object::count_
protectedinherited
DTK_TYPE_REFERENCE
@ DTK_TYPE_REFERENCE
Definition: define.h:473
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:464
Dtk_ReferenceBlock::_typeID
@ _typeID
Definition: util_draw_dtk.hpp:5119
Dtk_ReferenceBlock::Dtk_ReferenceBlock
Dtk_ReferenceBlock(const Dtk_Oriented2dBBox &inInnerBBox, const Dtk_Oriented2dBBox &inOuterBBox)
Base Constructor.
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:13