DATAKIT SDK  V2026.2
util_draw_dtk.hpp
Go to the documentation of this file.
1 #ifndef _UTIL_DRAW_DTK_HPP_
2 #define _UTIL_DRAW_DTK_HPP_
3 
10 #include "util/dtk_val.hpp"
11 #include "struct/str_def.h"
12 #include "util/error_dtk.hpp"
14 #include "util/util_ent_dtk.hpp"
15 #include "util/util_geom_dtk.hpp"
17 #include "util/util_ptr_dtk.hpp"
18 #include "util/util_stl_dtk.hpp"
20 #include "util/dtk/span.hpp"
21 #include <cmath>
22 #include "def/define.h"
23 #include "dtk/config.hpp"
24 #include <iosfwd>
25 #include <type_traits>
26 #include <unordered_map>
27 
28 // #ifdef _DEBUG -----> Never use this condition , DEBUG_DTK only for internal use
29 // # ifndef _DEBUG_DTK
30 // # define _DEBUG_DTK
31 // # endif
32 // #endif
33 
34 /// @cond NO_DOXYGEN_DOC
35 //Forward declarations
36 struct polyline_def;
37 typedef struct polyline_def Polyline_detk;
38 
39 
40 
41 class Dtk_Connector;
42 class Dtk_ConnectorPart;
43 
44 typedef Dtk_SmartPtr<Dtk_Connector> Dtk_ConnectorPtr;
45 typedef Dtk_SmartPtr<Dtk_ConnectorPart> Dtk_ConnectorPartPtr;
46 
47 typedef Dtk_tab<Dtk_ConnectorPtr> Dtk_ConnectorTab;
48 typedef Dtk_tab<Dtk_ConnectorPartPtr> Dtk_ConnectorPartTab;
49 /// @endcond
50 
51 ////////////////////////////////////////////////////////////////////////////////////////////////
52 //! \enum DTK_FDT_MODIFIER
53 //! \brief This is the several tolerances modifiers list
60 };
61 //! \enum DTK_DATUM_COMPOSING_RULE
62 //! \brief This is the several references composing rules
68 };
69 ////////////////////////////////////////////////////////////////////////////////////////////////
70 
71 
72 
73 enum Dtk_Unit {
75  // Length
82  // Angle
86  // Degree, Minute, Second
88 };
89 
101 };
102 
105  //! \image html TextAlignmentLeft.png
107  //! \image html TextAlignmentRight.png
109  //! \image html TextAlignmentCenter.png
111  //! \image html TextAlignmentJustifed.png
113 };
114 
116  //! \image html TextAlignmentLeft.png
118  //! \image html TextAlignmentCenter.png
120  //! \image html TextAlignmentRight.png
122 };
123 
126  //! \image html FrameTypeRectangle.png
128  //! \image html FrameTypeSquare.png
130  //! \image html FrameTypeCircle.png
132  //! \image html FrameTypeScoredCircle.png
134  //! \image html FrameTypeDiamond.png
136  //! \image html FrameTypeTriangle.png
138  //! \image html FrameTypeFlagRight.png
140  //! \image html FrameTypeFlagLeft.png
142  //! \image html FrameTypeFlagBoth.png
144  //! \image html FrameTypeOblong.png
146  //! \image html FrameTypeOblongRight.png
148  //! \image html FrameTypeOblongLeft.png
150  //! \image html FrameTypeEllipse.png
153  //! \image html FrameTypeSet.png
155  //! \image html FrameTypeFixedSupport.png
157  //! \image html FrameTypeNota.png
159  //! \image html FrameTypeSymmetricalPart.png
161  //! \image html FrameTypeSymmetricalSet.png
163  //! \image html FrameTypeScoredRectangle.png
165  //! \image html FrameTypeParallelogram.png
174 };
175 
176 //! \ingroup draw
177 //! \class Dtk_Font
178 //! \brief This is the font class
179 //! This class lets you access to font information (name, type ...)
180 class Dtk_Font
181 {
182 public:
188  };
189 protected:
190  //! \brief Font name
192  //! \brief Font type (Postcript, TrueType)
194  //! \brief Font ID
196 public:
197  //! \BaseDestructor
199 
200  //! \BaseConstructor
202 
203  //! \CopyConstructor{in}
204  Dtk_Font(const Dtk_Font& in);
205  //! \MoveConstructor{in}
207 
208  //! \brief Retrieves the font name - get/set -
209  //! \return The font name
210  //! \sa Name() const
212 
213  //! \brief Retrieves the font name - read only -
214  //! \return The font name
215  //! \sa Name()
216  const Dtk_string& Name() const;
217 
218  //! \brief Retrieves the font type - get/set -
219  //! \return The font type (FontTruescript, FontPostscript, etc...)
220  //! \sa FontTypeEnum() const
222 
223  //! \brief Retrieves the font type - read only -
224  //! \return The font type (FontTruescript, FontPostscript, etc...)
225  //! \sa FontTypeEnum()
226  const FontTypeEnum& FontType() const;
227 
228  //! \brief Retrieves the font Id - get/set -
229  //! \return The font Id
230  //! \sa ID() const
232 
233  //! \brief Retrieves the font Id - read only -
234  //! \return The font Id
235  //! \sa ID()
236  const Dtk_Size_t& ID() const;
237 
238  //! \AssignmentOp{in}
240  //! \MoveOp{in}
242  //! \internal
243 };
244 
245 //! \ingroup draw
246 //! \class Dtk_TextStyle
247 //! \brief This is the text_style.
248 //! This class gathers information about text style.
250 {
251 public:
253  //! \image html FontStyleRegular.png
255  //! \image html FontStyleBold.png
257  //! \image html FontStyleItalic.png
259  //! \image html FontStyleBoldItalic.png
261  };
262  static inline Dtk_string FontStyleEnumToString( const FontStyleEnum& inEnum )
263  {
264  switch( inEnum )
265  {
266  default:
267  case StyleRegular: return L"StyleRegular";
268  case StyleBold: return L"StyleBold";
269  case StyleItalic: return L"StyleItalic";
270  case StyleBoldItalic: return L"StyleBoldItalic";
271  }
272  }
274  //! \image html TextAttributeNone.png
276  //! \image html TextAttributeUnderline.png
278  //! \image html TextAttributeStrikethrough.png
280  //! \image html TextAttributeOverline.png
282  //! \image html TextAttributeSuperscript.png
284  //! \image html TextAttributeSubscript.png
285  AttributeSubscript = 16
286  };
288  //! \image html TextJustificationLeft.png
290  //! \image html TextJustificationCenter.png
292  //! \image html TextJustificationRight.png
295  };
297  {
298  switch( inEnum )
299  {
300  default:
301  case JustificationLeft: return L"JustificationLeft";
302  case JustificationCenter: return L"JustificationCenter";
303  case JustificationRight: return L"JustificationRight";
304  case JustificationNone: return L"JustificationNone";
305  }
306  }
307 protected:
308 
309  //! \brief Font informations
311  //! \brief Font Style type (Regular, Italic, etc...)
313  //! \brief Text Attribute (Underline, etc...)
315  //! \brief Text Justification (Left, etc...)
317  //! \brief Height of each char in the text
319  //! \brief Spacing between two chars
321  //! \brief Width of each char in the text
323  //! \brief Spacing between two lines in the text - for multiline texts for example -
325  //! \brief Char Slant (PI/2 by default)
327  //! \brief Char Ratio. It represents the stretch of the width of the text. Default value is 1.
329  //! \brief Char Pitch
331 public:
332  //! \BaseDestructor
334 
335  //! \BaseConstructor
337 
338  //! \CopyConstructor{in}
340  //! \MoveConstructor{in}
342 
343  //! \AssignmentOp{in}
345  //! \MoveOp{in}
347 
348  //! \brief Retrieves the font - get/set -
349  //! \return The font
350  //! \sa Font() const
352 
353  //! \brief Retrieves the font - read only -
354  //! \return The font
355  //! \sa Font()
356  const Dtk_Font& Font() const;
357 
358  //! \brief Retrieves the font style - get/set -
359  //! \return The font style
360  //! \sa FontStyle() const
362 
363  //! \brief Retrieves the font style - read only -
364  //! \return The font style
365  //! \sa FontStyle()
366  const FontStyleEnum& FontStyle() const;
367 
368  //! \brief Retrieves the text attribute - get/set -
369  //! \return The text attribute
370  //! \sa Attributes() const
372 
373  //! \brief Retrieves the text attribute - read only -
374  //! \return The text attribute
375  //! \sa Attributes()
377 
378  //! \brief Retrieves the text justification - get/set -
379  //! \return The text justification
380  //! \sa Justification()
382 
383  //! \brief Retrieves the text justification - read only -
384  //! \return The text justification
385  //! \sa Justification() const
387 
388  //! \brief Retrieves the char height - get/set -
389  //! \return The char height
390  //! \sa CharHeight() const
392 
393  //! \brief Retrieves the char height - Read Only -
394  //! \return The char height
395  //! \sa CharHeight()
396  const Dtk_Double64& CharHeight() const;
397 
398  //! \brief Retrieves the char spacing - get/set -
399  //! \return The char spacing
400  //! \sa CharSpacing() const
402 
403  //! \brief Retrieves the char spacing - read only -
404  //! \return The char spacing
405  //! \sa CharSpacing()
406  const Dtk_Double64& CharSpacing() const;
407 
408  //! \brief Retrieves the char width - get/set -
409  //! \return The char width
410  //! \sa CharWidth() const
412 
413  //! \brief Retrieves the char width - read only -
414  //! \return The char width
415  //! \sa CharWidth()
416  const Dtk_Double64& CharWidth() const;
417 
418  //! \brief Retrieves the line spacing - get/set -
419  //! \return The line spacing
420  //! \sa LineSpacing() const
422 
423  //! \brief Retrieves the line spacing - read only -
424  //! \return The line spacing
425  //! \sa LineSpacing()
426  const Dtk_Double64& LineSpacing() const;
427 
428  //! \brief Retrieves the text slant - get/set -
429  //! \return The text slant
430  //! \sa Slant() const
432 
433  //! \brief Retrieves the text slant - read only -
434  //! \return The text slant
435  //! \sa Slant()
436  const Dtk_Double64& Slant() const;
437 
438  //! \brief Retrieves the text ratio - get/set -
439  //! \return The text ratio
440  //! \sa Ratio() const
442 
443  //! \brief Retrieves the text ratio - Read Only -
444  //! \return The text ratio
445  //! \sa Ratio()
446  const Dtk_Double64& Ratio() const;
447 
448  //! \brief Retrieves the text pitch - get/set -
449  //! \return The text pitch
450  //! \sa Pitch() const
452 
453  //! \brief Retrieves the text pitch - read only -
454  //! \return The text pitch
455  //! \sa Pitch()
456  const Dtk_Double64& Pitch() const;
457 
458 };
459 
460 //! \ingroup draw
461 //! \class Dtk_Oriented2dBBox
462 //! \brief This is the base bounding box class.\n
463 //! It's used into a lot of 2D Entities\n
464 //! This class represents the base bounding box used in the texts entities.\n
465 //! \n The Dtk_Oriented2dBBox uses an anchor point notion. Here the 9 anchor point types:\n\n
466 //! \image html Dtk_Oriented2dBBox.png "Anchor Type Samples"
468 {
469 protected:
475 
476  inline void _Init()
477  {
478  Dtk_Size_t i = 0;
479 
480  for (i = 0; i < 3; i++)
481  {
482  _BottomLeftPnt[i] = 0.0;
483  _XLocalVector[i] = 0.0;
484  _YLocalVector[i] = 0.0;
485  }
486  _XLocalVector[0] = 1.0;
487  _YLocalVector[1] = 1.0;
488  _XLength = 0.0;
489  _YLength = 0.0;
490  }
491 
492  inline void _Copy(const Dtk_Oriented2dBBox &s)
493  {
497  _XLength = s._XLength;
498  _YLength = s._YLength;
499  }
500 
501  inline void _Reset() {}
502 public:
503  //! \BaseConstructor
505 
506  //! \brief Full featured constructor
507  //! \param inBottomLeft Bottom left point
508  //! \param inXLength X length
509  //! \param inYLenght Y length
510  //! \param inRefAxis Ref axis
511  //! \param inNormalAxis Normal axis
512  Dtk_Oriented2dBBox(const Dtk_pnt &inBottomLeft,
513  const Dtk_Double64 &inXLength,
514  const Dtk_Double64 inYLength,
515  const Dtk_dir &inRefAxis = Dtk_dir(1,0,0),
516  const Dtk_dir &inNormalAxis = Dtk_dir(0,0,1));
517 
518  //! \CopyConstructor{in}
520 
521  //! \BaseDestructor
523 
524  //! \brief Clear elements
525  inline void Clear()
526  {
527  _Reset();
528  _Init();
529  }
530 
531  //! \AssignmentOp{in}
533 
534  //! \brief Processes all the anchor points
535  //! \param outTabPnts the resulting anchor point array
536  //! \return dtkNoError if OK
538  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
539 
540  //! \brief Retrieves the bottom left point - Read Only -
541  //! \return The bottom left point
542  inline Dtk_pnt BottomLeftPoint() const
543  {
544  return _BottomLeftPnt;
545  }
546 
547  //! \brief Retrieves the bottom left point - Read Only -
548  //! \return The bottom left point
549  //! \sa BottomLeftPoint()
551  {
552  return BottomLeftPoint();
553  }
554 
555  //! \brief Retrieves the middle left point - Read Only -
556  //! \return The middle left point
558  {
560  }
561 
562  //! \brief Retrieves the top left point - Read Only -
563  //! \return The top left point
564  inline Dtk_pnt GetTopLeftPoint() const
565  {
567  }
568 
569  //! \brief Retrieves the bottom center point - Read Only -
570  //! \return The bottom center point
572  {
574  }
575 
576  //! \brief Retrieves the middle center point - Read Only -
577  //! \return The middle center point
579  {
581  + 0.5*_XLength*_XLocalVector;
582  }
583 
584  //! \brief Retrieves the top center point - Read Only -
585  //! \return The top center point
586  inline Dtk_pnt GetTopCenterPoint() const
587  {
589  + 0.5*_XLength*_XLocalVector;
590  }
591 
592  //! \brief Retrieves the bottom right point - Read Only -
593  //! \return The bottom right point
595  {
597  }
598 
599  //! \brief Retrieves the middle right point - Read Only -
600  //! \return The middle right point
602  {
605  }
606 
607  //! \brief Retrieves the top right point - Read Only -
608  //! \return The top right point
609  inline Dtk_pnt GetTopRightPoint() const
610  {
612  }
613 
614  //! \brief Retrieves the X length - Read Only -
615  //! \return The X length
616  inline Dtk_Double64 GetXLength() const
617  {
618  return _XLength;
619  }
620 
621  //! \brief Retrieves the Y length - Read Only -
622  //! \return The Y length
623  inline Dtk_Double64 GetYLength() const
624  {
625  return _YLength;
626  }
627 
628  //! \brief Retrieves the X local vector - Read Only -
629  //! \return The X local vector
630  inline Dtk_dir XLocalVector() const
631  {
632  return _XLocalVector;
633  }
634 
635  //! \brief Retrieves the Y local vector - Read Only -
636  //! \return The Y local vector
637  inline Dtk_dir YLocalVector() const
638  {
639  return _YLocalVector;
640  }
641 
642  //! \brief Sets the X local vector
643  //! \param inNewXVector The new X local vector
644  inline void SetXLocalVector(const Dtk_dir& inNewXVector)
645  {
646  _XLocalVector = inNewXVector;
648  }
649 
650  //! \brief Sets the Y local vector
651  //! \param inNewYVector The new Y local vector
652  inline void SetYLocalVector(const Dtk_dir& inNewYVector)
653  {
654  _YLocalVector = inNewYVector;
656  }
657 
658  //! \brief Sets the X and Y local vectors
659  //! \param inNewXVector The new X local vector
660  //! \param inNewYVector The new Y local vector
661  inline void SetLocalVectors(const Dtk_dir& inNewXVector,
662  const Dtk_dir& inNewYVector)
663  {
664  _XLocalVector = inNewXVector;
665  _YLocalVector = inNewYVector;
669  _YLocalVector = TmpZ / _XLocalVector;
670  }
671 
672  //! \brief Test if a point is inside Dtk_Oriented2dBBox class
673  //! \param inPoint The point
674  //! \brief return true if the point is inside Dtk_Oriented2dBBox class
675  Dtk_bool IsInside(const Dtk_pnt &inPoint) const;
676 
677  //! \brief Merges the Dtk_Oriented2dBBox to an additional point
678  //! \param inPoint The inPoint to be merged
679  //! \sa Merge
680  void Merge(const Dtk_pnt &inPoint);
681 
682  //! \brief Merges the Dtk_Oriented2dBBox to another one
683  //! \param inOriented2dBBox The Dtk_Oriented2dBBox to be merged
684  //! \sa Merge
685  void Merge(const Dtk_Oriented2dBBox &inOriented2dBBox);
686 
687  //! \brief Translates the text giving a translation vector
688  //! \param inTranslateDir the translation vector
689  //! \return dtkNoError if OK
690  void Translate(const Dtk_dir &inTranslation);
691 
692  //! \brief Rotates the bounding box
693  //! \param inAngleInRadian The angle in radian
694  //! \return dtkNoError if OK
695  void Rotate(const Dtk_Double64 &inAngleInRadian);
696 
697  //! \brief Applies a transformation matrix to the bounding box
698  //! \param inTransfo The transformation matrix
699  //! \return dtkNoError if OK
701 
702  //! \brief Reverses the bounding box
703  //! X local vector and Y local vector orientation are reversed
704  //! \return dtkNoError if OK
705  void Reverse();
706 
707  //! \brief Extend the bounding box
708  //! \param inXExtend Extend the bounding box horizontally
709  //! \param inYExtend Extend the bounding box vertically
710  //! \return dtkNoError if OK
711  void Extend(const Dtk_Double64 &inXExtend, const Dtk_Double64 &inYExtend);
712 
713  //! \brief Extend the bounding box
714  //! \param inTopExtend Extend the top of the bounding box
715  //! \param inBottomExtend Extend the bottom of the bounding box
716  //! \param inLeftExtend Extend the left of the bounding box
717  //! \param inRightExtend Extend the right of the bounding box
718  //! \return dtkNoError if OK
719  void Extend(const Dtk_Double64 &inTopExtend,
720  const Dtk_Double64 &inBottomExtend,
721  const Dtk_Double64 &inLeftExtend,
722  const Dtk_Double64 &inRightExtend);
723 
724  //! \brief Retrieves the bottom left point
725  //! \return The bottom left point
727  {
728  return _BottomLeftPnt;
729  }
730 
731  //! \brief Retrieves the X local vector
732  //! \return The X local vector
734  {
735  return _XLocalVector;
736  }
737 
738  //! \brief Retrieves the Y local vector
739  //! \return The Y local vector
741  {
742  return _YLocalVector;
743  }
744 
745  //! \brief Retrieves the X length
746  //! \param inNewXlength Extend the new X length of the bounding box
747  //! \return The X length
748  void SetXLength(const Dtk_Double64 &inNewXlength);
749 
750  //! \brief Retrieves the Y length
751  //! \param inNewXlength Extend the new Y length of the bounding box
752  //! \return The Y length
753  void SetYLength(const Dtk_Double64 &inNewXlength);
754 
755  //! \brief Sets the bottom left point
756  //! \param inNewPoint The new bottom left point
757  void SetBottomLeftPoint(const Dtk_pnt &inNewPoint);
758 
759  //! \brief Sets the middle left point
760  //! \param inNewPoint The new middle left point
761  void SetMiddleLeftPoint(const Dtk_pnt &inNewPoint);
762 
763  //! \brief Sets the top left point
764  //! \param inNewPoint The new top left point
765  void SetTopLeftPoint(const Dtk_pnt &inNewPoint);
766 
767  //! \brief Sets the bottom center point
768  //! \param inNewPoint The new bottom center point
769  void SetBottomCenterPoint(const Dtk_pnt &inNewPoint);
770 
771  //! \brief Sets the middle center point
772  //! \param inNewPoint The new middle center point
773  void SetMiddleCenterPoint(const Dtk_pnt &inNewPoint);
774 
775  //! \brief Sets the top center point
776  //! \param inNewPoint The new top center point
777  void SetTopCenterPoint(const Dtk_pnt &inNewPoint);
778 
779  //! \brief Sets the bottom right point
780  //! \param inNewPoint The new bottom right point
781  void SetBottomRightPoint(const Dtk_pnt &inNewPoint);
782 
783  //! \brief Sets the middle right point
784  //! \param inNewPoint The new middle right point
785  void SetMiddleRightPoint(const Dtk_pnt &inNewPoint);
786 
787  //! \brief Sets the top right point
788  //! \param inNewPoint The new top right point
789  void SetTopRightPoint(const Dtk_pnt &inNewPoint);
790 
791  //! \brief Retrieves the point with inAnchorType type
792  //! \param inAnchorType The point anchor type
793  //! \return The point
794  Dtk_pnt GetPoint(const enum Dtk_anchor_type& inAnchorType) const;
795 
796  //! \brief Sets the point with inAnchorType type
797  //! \param inNewPoint The new point
798  //! \param inAnchorType The point anchor type
799  void SetPoint(const Dtk_pnt &inNewPoint,
800  const enum Dtk_anchor_type& inAnchorType);
801 
802  //! \brief Process distance - Read Only -
803  //! \param inReferenceBBox The reference bounding box
804  //! \param outTopOffSet The result top offset
805  //! \param outBottomOffSet The result bottom offset
806  //! \param outRightOffSet The result right offset
807  //! \param outLeftOffSet The result left offset
809  Dtk_Double64& outTopOffSet, Dtk_Double64& outBottomOffSet,
810  Dtk_Double64& outRightOffSet, Dtk_Double64& outLeftOffSet) const;
811 
812  //! \brief Processes intersection points with a line.
813  //! \param inLine : the line to process
814  //! \param outIntersectionPnt1 The 1st intersection point - if exists -
815  //! \param outIntersectionPnt2 The 2nd intersection point - if exists -
816  //! \param outIntersectionParam1 The 1st intersection parameter - if exists -
817  //! \param outIntersectionParam2 The 2nd intersection parameter - if exists -
818  //! \param inTestComplanarity If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box.
819  //! \return 0 If No intersection.
820  //! \return 1 If 1 intersection.
821  //! \return 2 If 2 intersections.
822  //! \return 3 If an infinity of intersections.
823  //! \return -1 if inPntA and inPntB are not on the same plane than the Bounding Box.
824  //! \warning For internal use only
826  const Dtk_LinePtr inLine,
827  Dtk_pnt& outIntersectionPnt1,
828  Dtk_pnt& outIntersectionPnt2,
829  Dtk_Double64& outIntersectionParam1,
830  Dtk_Double64& outIntersectionParam2,
831  const Dtk_bool& inTestComplanarity = DTK_FALSE ) const;
832 
833  //! \brief Processes intersection points with a line giving two points on the line.
834  //! \param inPntA The 1st point of the line
835  //! \param inPntB The 2nd point of the line
836  //! \param outIntersectionPnt1 The 1st intersection point - if exists -
837  //! \param outIntersectionPnt2 The 2nd intersection point - if exists -
838  //! \param inTestComplanarity If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box.
839  //! \return 0 If No intersection.
840  //! \return 1 If 1 intersection.
841  //! \return 2 If 2 intersections.
842  //! \return 3 If an infinity of intersections.
843  //! \return -1 if inPntA and inPntB are not on the same plane than the Bounding Box.
844  //! \warning For internal use only
846  const Dtk_pnt& inPntA,
847  const Dtk_pnt& inPntB,
848  Dtk_pnt& outIntersectionPnt1,
849  Dtk_pnt& outIntersectionPnt2,
850  const Dtk_bool& inTestComplanarity = DTK_FALSE ) const;
851 
852  //! \brief Processes intersection points with a segment giving its ends.
853  //! \param inPntA The 1st end of the segment.
854  //! \param inPntB The 2nd end of the segment.
855  //! \param outIntersectionPnt1 The 1st intersection point - if exists -
856  //! \param outIntersectionPnt2 The 2nd intersection point - if exists -
857  //! \param inTestComplanarity If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box.
858  //! \return 0 If No intersection.
859  //! \return 1 If 1 intersection.
860  //! \return 2 If 2 intersections.
861  //! \return 3 If an infinity of intersections.
862  //! \return -1 if inPntA and inPntB are not on the same plane than the Bounding Box.
863  //! \warning For internal use only
865  const Dtk_pnt& inPntA,
866  const Dtk_pnt& inPntB,
867  Dtk_pnt& outIntersectionPnt1,
868  Dtk_pnt& outIntersectionPnt2,
869  const Dtk_bool& inTestComplanarity = DTK_FALSE ) const;
870 
871  //! \brief Processes intersection points with a segment giving its ends.
872  //! \param inPntA The 1st end of the segment.
873  //! \param inPntB The 2nd end of the segment.
874  //! \param outIntersectionPnts The list of intersection points
875  //! \param inTestComplanarity If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box.
876  //! \return 0 If No intersection.
877  //! \return 1 If 1 intersection.
878  //! \return 2 If 2 intersections.
879  //! \return 3 If an infinity of intersections.
880  //! \return -1 if inPntA and inPntB are not on the same plane than the Bounding Box.
881  //! \warning For internal use only
883  const Dtk_pnt& inPntA,
884  const Dtk_pnt& inPntB,
885  Dtk_tab<Dtk_pnt>& outIntersectionPnts,
886  const Dtk_bool& inTestComplanarity = DTK_FALSE) const;
887 
888  //! \brief Processes intersection points with a circle on the same plane as the boundingbox, giving its center and its radius.
889  //! \param inCenter The center of the circle.
890  //! \param inRadius The radius of the circle.
891  //! \param outIntersectionPnts The tab of intersection points
892  //! \return Number of intersections
893  //! \warning For internal use only
894 
896  const Dtk_pnt& inCenter,
897  const Dtk_Double64& inRadius,
898  Dtk_tab<Dtk_pnt>& outIntersectionPnts) const;
899 };
900 
901 //! \ingroup draw
902 //! \class Dtk_Frame
903 //! \brief This is the frame class.\n
904 //! It's used to gather all frame information.
906 {
907 protected:
910  inline void _Init()
911  {
913  }
914  inline void _Copy(const Dtk_Frame &s)
915  {
917  for( Dtk_Size_t i = 0 ; i < s._RelatedGeomElements.size() ; i++)
918  {
919  Dtk_CurvePtr c;
920  s._RelatedGeomElements[i].Clone(c);
921  _RelatedGeomElements.push_back(c);
922  }
923  }
924  inline void _Reset(){}
925 public:
926 
927  //! \brief Full featured constructor
928  //! \param inFrameType Frame Type.
929  //! \param inRelatedGeometricalElts Geometries representing the frame.
930  Dtk_Frame( const Dtk_frame_type& inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeometricalElts )
931  : _FrameType( inFrameType ), _RelatedGeomElements( std::move( inRelatedGeometricalElts ) ) { }
932 
933  //! \CopyConstructor{in}
935  //! \MoveConstructor{s}
936  Dtk_Frame( Dtk_Frame &&in ) DTK_NOEXCEPT : _FrameType( in._FrameType ), _RelatedGeomElements( std::move( in._RelatedGeomElements ) ) { }
937 
938  //! \BaseConstructor
939  inline Dtk_Frame()
940  {
941  _Init();
942  }
943 
944  //! \BaseDestructor
945  inline ~Dtk_Frame(){ _Reset();}
946 
947  //! \brief Clear elements
948  inline void Clear()
949  {
951  _RelatedGeomElements.clear();
952  }
953 
954 
955  //! \brief Set Frame informations.
956  //! \param inFrameType Frame Type.
957  //! \param inRelatedGeometricalElts Geometries representing the frame.
958  inline void SetFrameData(
959  const Dtk_frame_type& inFrameType,
960  Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements )
961  {
962  this->_FrameType = inFrameType;
963  this->_RelatedGeomElements = std::move( inRelatedGeomElements );
964  }
965  //! \brief Retrieves the Frame Type - Read Only -
966  //! \return The Frame Type
967  inline const Dtk_frame_type& GetFrameType() const {return _FrameType;}
968 
969  //! \brief Process Related geometries.
970  //! \return Always dtkNoError as success.
972 
973  //! \brief Translates the frame giving a translation vector
974  //! \param inTranslateDir the translation vector
975  //! \return dtkNoError if OK
976  Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir);
977 
978  //! \brief Applies a transformation matrix to the frame
979  //! \param inTransfo The transformation matrix
980  //! \return dtkNoError if OK
982 
983  //! \AssignmentOp{in}
985  //! \MoveOp{in}
987 };
988 class Dtk_CompositeText;
989 
990 //! \ingroup draw
991 //! \class DTK_Text_subtype
992 //! \brief This is the DTK_Text_subtype class.\n
993 //! It's used to provide semantic data about Dtk_Text type.\n
994 //! See the \ref howtodtk_subtypes link to know how to handle it.
996 {
997 private:
998  int p;
999 public:
1000  DTK_Text_subtype(int in=0);
1001  //! \brief Appends a new subtype
1002  void Append(int in);
1004  //! \brief Tell if the associated Dtk_text is part of dual group - into \DtkLinkToPtr{Dtk_Dimension} -
1005  //! \return DTK_TRUE or DTK_FALSE
1006  Dtk_bool IsDual() const;
1007  //! \brief Tell if the associated Dtk_text is part of left group - into \DtkLinkToPtr{Dtk_Dimension} -
1008  //! \return DTK_TRUE or DTK_FALSE
1010  //! \brief Tell if the associated Dtk_text is part of right group - into \DtkLinkToPtr{Dtk_Dimension} -
1011  //! \return DTK_TRUE or DTK_FALSE
1013  //! \brief Tell if the associated Dtk_text is part of Up group - into \DtkLinkToPtr{Dtk_Dimension} -
1014  //! \return DTK_TRUE or DTK_FALSE
1016  //! \brief Tell if the associated Dtk_text is part of Down group - into \DtkLinkToPtr{Dtk_Dimension} -
1017  //! \return DTK_TRUE or DTK_FALSE
1019  //! \brief Tell if the associated Dtk_text is part of Prefix group - into \DtkLinkToPtr{Dtk_Dimension} -
1020  //! \return DTK_TRUE or DTK_FALSE
1022  //! \brief Tell if the associated Dtk_text is part of Suffix group - into \DtkLinkToPtr{Dtk_Dimension} -
1023  //! \return DTK_TRUE or DTK_FALSE
1025  //! \brief Tell if the associated Dtk_text is part of Chamfer Sign group - into \DtkLinkToPtr{Dtk_Dimension} -
1026  //! \return DTK_TRUE or DTK_FALSE
1028  //! \brief Tell if the associated Dtk_text is part of Chamfer Right group - into \DtkLinkToPtr{Dtk_Dimension} -
1029  //! \return DTK_TRUE or DTK_FALSE
1031  //! \brief Tell if the associated Dtk_text is part of Main Value Part group - into \DtkLinkToPtr{Dtk_Dimension} -
1032  //! \return DTK_TRUE or DTK_FALSE
1034  //! \brief Tell if the associated Dtk_text is part of Basis group - into \DtkLinkToPtr{Dtk_Dimension} -
1035  //! \return DTK_TRUE or DTK_FALSE
1037  //! \brief Tell if the associated Dtk_text is part of Pow group - into \DtkLinkToPtr{Dtk_Dimension} -
1038  //! \return DTK_TRUE or DTK_FALSE
1039  Dtk_bool IsPow() const;
1040  //! \brief Tell if the associated Dtk_text is part of Upper Fraction group - into \DtkLinkToPtr{Dtk_Dimension} -
1041  //! \return DTK_TRUE or DTK_FALSE
1043  //! \brief Tell if the associated Dtk_text is part of Lower Fraction group - into \DtkLinkToPtr{Dtk_Dimension} -
1044  //! \return DTK_TRUE or DTK_FALSE
1046  //! \brief Tell if the associated Dtk_text is part of Value Split Part 1 - for Degrees/Minutes/Seconds form - group - into \DtkLinkToPtr{Dtk_Dimension} -
1047  //! \return DTK_TRUE or DTK_FALSE
1049  //! \brief Tell if the associated Dtk_text is part of Value Split Part 2 - for Degrees/Minutes/Seconds form - group - into \DtkLinkToPtr{Dtk_Dimension} -
1050  //! \return DTK_TRUE or DTK_FALSE
1052  //! \brief Tell if the associated Dtk_text is part of Value Split Part 3 - for Degrees/Minutes/Seconds form - group - into \DtkLinkToPtr{Dtk_Dimension} -
1053  //! \return DTK_TRUE or DTK_FALSE
1055  //! \brief Tell if the associated Dtk_text is part of Tolerance Block group - into \DtkLinkToPtr{Dtk_Dimension} -
1056  //! \return DTK_TRUE or DTK_FALSE
1058  //! \brief Tell if the associated Dtk_text is part of Tolerance Value group - into \DtkLinkToPtr{Dtk_Dimension} -
1059  //! \return DTK_TRUE or DTK_FALSE
1061  //! \brief Tell if the associated Dtk_text is part of Tolerance Upper Value group - into \DtkLinkToPtr{Dtk_Dimension} -
1062  //! \return DTK_TRUE or DTK_FALSE
1064  //! \brief Tell if the associated Dtk_text is part of Tolerance Lower Value group - into \DtkLinkToPtr{Dtk_Dimension} -
1065  //! \return DTK_TRUE or DTK_FALSE
1067  //! \brief Tell if the associated Dtk_text is part of Tolerance Symetrical Value group - into \DtkLinkToPtr{Dtk_Dimension} -
1068  //! \return DTK_TRUE or DTK_FALSE
1070  //! \brief Tell if the associated Dtk_text is part of Tolerance Sign group - into \DtkLinkToPtr{Dtk_Dimension} -
1071  //! \return DTK_TRUE or DTK_FALSE
1073  //! \brief Tell if the associated Dtk_text is part of Tolerance Prefix group - into \DtkLinkToPtr{Dtk_Dimension} -
1074  //! \return DTK_TRUE or DTK_FALSE
1076  //! \brief Tell if the associated Dtk_text is part of Tolerance Left Parenthesis group - into \DtkLinkToPtr{Dtk_Dimension} -
1077  //! \return DTK_TRUE or DTK_FALSE
1079  //! \brief Tell if the associated Dtk_text is part of Tolerance Right Parenthesis group - into \DtkLinkToPtr{Dtk_Dimension} -
1080  //! \return DTK_TRUE or DTK_FALSE
1082  //! \brief Tell if the associated Dtk_text is an url group - into \DtkLinkToPtr{Dtk_Dimension} -
1083  //! \return DTK_TRUE or DTK_FALSE
1084  Dtk_bool IsUrl() const;
1085  //! \brief Tell if the associated Dtk_text is a fraction bar group - into \DtkLinkToPtr{Dtk_Dimension} -
1086  //! \return DTK_TRUE or DTK_FALSE
1088  //! \brief Tell if the associated Dtk_text is a separator - into \DtkLinkToPtr{Dtk_Dimension} -
1089  //! \return DTK_TRUE or DTK_FALSE
1091  //! \brief Return all subtypes as a Dtk_string.
1092  //! \return The processes Dtk_string.
1093  Dtk_string Dump() const;
1094 };
1095 
1096 
1097 
1098 
1099 //! \ingroup draw
1100 //! \class Dtk_Text
1101 //! \brief This is the base text class. It's part of Dtk_CompositeText.\n
1102 //! This class represents the texts and values used in the annotations entities (Dtk_Annotation and Dtk_Dimension). \n
1103 //! You can learn how to browse their semantic data following this page : \ref howtodtk_subtypes \n
1104 //! It also contains an inner Dtk_Oriented2dBBox and a outer Dtk_Oriented2dBBox that allows you to place the text in 2D space.\n
1105 //! The Dtk_Text uses a lot of informations. The most important ones, coming from its Dtk_Oriented2dBBox, are shown in the picture below:\n
1106 //! \image html Dtk_Text.png Dtk_Text Most Important Information : inner and outer Dtk_Oriented2dBBox
1107 //! \n The Dtk_Text also uses an anchor point notion ( Dtk_anchor_type ). Here are the 9 anchor point types:\n\n
1108 //! \image html AnchorTypes.png Anchor Type Samples
1110 {
1111 public:
1116  };
1117 
1118 protected:
1119  struct Dtk_Handle; // Not defined here
1120  Dtk_Handle *_Private; // Handle
1121 
1122 private:
1123  void _Init();
1124  void _Copy(const Dtk_Text& s);
1125  void _Reset();
1126 
1127 public:
1128  //! \BaseDestructor
1130 
1131  //! \BaseConstructor
1133 
1134  //! \CopyConstructor{s}
1135  Dtk_Text(const Dtk_Text &s);
1136 
1137  //! \MoveConstructor{s}
1139 
1140  //! \brief Full featured constructor
1141  //! \param inTextString The text string
1142  //! \param inInnerBox The inner bounding box
1143  //! \param inOuterBox The outer bounding box
1144  //! \param inAnchorType The anchor type
1145  //! \param inTextType The text type
1146  //! \param inHorizontalVerticalType The horizontal/vertical text orientation
1147  //! \param inInfos The text infos
1148  //! \param inTextStyle The text style
1149  //! \param inSlant The text slant - PI / 2.0 for normal text -
1150  //! \param inFontIndex The font index
1151  //! \param inMirroringType The mirroring type
1152  Dtk_Text(Dtk_string inTextString,
1153  const Dtk_Oriented2dBBox &inInnerBox,
1154  const Dtk_Oriented2dBBox &inOuterBox,
1155  const Dtk_anchor_type &inAnchorType,
1156  const DTK_Text_type &inTextType,
1157  const Dtk_Int32 &inHorizontalVerticalType,
1158  const Dtk_InfoPtr &inInfos,
1159  const Dtk_TextStyle &inTextStyle,
1160  const Dtk_Double64 &inSlant,
1161  const Dtk_Int32 &inFontIndex,
1162  const Dtk_Int32 &inMirroringType);
1163 
1164  //! \brief Constructor
1165  //! \param inTextString The text string
1166  //! \param inInnerBox The inner bounding box
1167  //! \param inOuterBox The outer bounding box
1168  //! \param inSlant The text slant - PI / 2.0 for normal text -
1169  //! \param inHorizontalVerticalType The horizontal/vertical text orientation
1170  //! \param inTextType The text type
1171  //! \param inInfos The text infos
1172  //! \param inTextStyle The text style
1173  Dtk_Text( Dtk_string inTextString,
1174  const Dtk_Oriented2dBBox &inInnerBox,
1175  const Dtk_Oriented2dBBox &inOuterBox,
1176  const Dtk_Double64 &inSlant,
1177  const Dtk_bool &inHorizontalVerticalType,
1178  const DTK_Text_type &inTextType, const Dtk_InfoPtr &inInfos,
1179  const Dtk_TextStyle &inTextStyle);
1180 
1181  //! \AssignmentOp{in}
1183  //! \MoveOp{in}
1185 
1186 
1187  //! \brief Tells if the Dtk_Text is empty or not - read only -
1188  //! \return DTK_TRUE if the Dtk_text is empty or DTK_FALSE else.
1189  //! \remark This method internally checks the string of the Dtk_text.
1190  //! If the string length is == 0 so the Dtk_text is empty.
1192 
1193  //! \brief Set the text frame information - get/set -
1194  //! \return The text frame type
1195  //! \sa FrameType() const
1196  void SetFrameType( const Dtk_frame_type& inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements);
1197 
1198  //! \brief Retrieves the Frame - read only -
1199  //! \param outFrame The frame
1200  //! \sa FrameType() const
1201  void GetFrame(Dtk_Frame& outFrame) const;
1202 
1203  //! \brief Retrieves the text frame type - read only -
1204  //! \return The text frame type
1205  //! \sa FrameType()
1207 
1208  //! \brief Retrieves the text type - get/set -
1209  //! \return The text type
1210  //! \sa TextType() const
1212 
1213  //! \brief Retrieves the text type - read only -
1214  //! \return The text type
1215  //! \sa TextType()
1216  const DTK_Text_type& TextType() const;
1217 
1218  //! \brief Retrieves the text subtype - get/set -
1219  //! \return The text subtype
1220  //! \sa TextType() const
1222 
1223  //! \brief Retrieves the text subtype - read only -
1224  //! \return The text subtype
1225  //! \sa TextType()
1227 
1228 
1229  //! \brief Retrieves the inner bounding box XAxis - read only -
1230  //! \return The inner bounding box XAxis
1231  //! \sa InnerXAxis()
1232  const Dtk_dir& InnerXAxis() const;
1233 
1234  //! \brief Retrieves the outer bounding box XAxis - read only -
1235  //! \return The outer bounding box XAxis
1236  //! \sa OuterXAxis()
1237  const Dtk_dir& OuterXAxis() const;
1238 
1239  //! \brief Retrieves the inner bounding box XAxis - get/set -
1240  //! \return The inner bounding box XAxis
1241  //! \sa InnerXAxis() const
1243 
1244  //! \brief Retrieves the outer bounding box XAxis - get/set -
1245  //! \return The outer bounding box XAxis
1246  //! \sa OuterXAxis() const
1248 
1249  //! \brief Retrieves the inner bounding box YAxis - read only -
1250  //! \return The inner bounding box YAxis
1251  //! \sa InnerYAxis()
1252  const Dtk_dir& InnerYAxis() const;
1253 
1254  //! \brief Retrieves the outer bounding box YAxis - read only -
1255  //! \return The outer bounding box YAxis
1256  //! \sa OuterYAxis()
1257  const Dtk_dir& OuterYAxis() const;
1258 
1259  //! \brief Retrieves the inner bounding box YAxis - get/set -
1260  //! \return The inner bounding box YAxis
1261  //! \sa InnerYAxis() const
1263 
1264  //! \brief Retrieves the outer bounding box YAxis - get/set -
1265  //! \return The outer bounding box YAxis
1266  //! \sa OuterYAxis() const
1268 
1269  //! \brief Retrieves the inner bounding box location - read only -
1270  //! \return The inner bounding box location
1271  //! \sa InnerLocation()
1272  const Dtk_pnt& InnerLocation() const;
1273 
1274  //! \brief Retrieves the outer bounding box location - read only -
1275  //! \return The outer bounding box location
1276  //! \sa OuterLocation()
1277  const Dtk_pnt& OuterLocation() const;
1278 
1279  //! \brief Retrieves the inner bounding box location - get/set -
1280  //! \return The inner bounding box location
1281  //! \sa InnerLocation() const
1283 
1284  //! \brief Retrieves the outer bounding box location - get/set -
1285  //! \return The outer bounding box location
1286  //! \sa OuterLocation() const
1288 
1289  //! \brief Retrieves the text string - get/set -
1290  //! \return The text string
1291  //! \sa Text() const
1293 
1294  //! \brief Retrieves the text string - read only -
1295  //! \return The text string
1296  //! \sa Text()
1297  const Dtk_string& Text() const;
1298 
1299  //! \brief Retrieves the text text style - get/set -
1300  //! \return The text text style
1301  //! \sa TextStyle() const
1303 
1304  //! \brief Retrieves the text text style - read only -
1305  //! \return The text text style
1306  //! \sa TextStyle()
1307  const Dtk_TextStyle& TextStyle() const;
1308 
1309  //! \brief Retrieves the text vertically oriented Status - read only -
1310  //! \return The text vertically oriented status - DTK_TRUE for vertically oriented text -
1311  //! \sa VerticallyOrientedStatus()
1313 
1314  //! \brief Sets the text vertically oriented status
1315  //! \return The text vertically oriented status - DTK_TRUE for vertically oriented text -
1316  //! \sa VerticallyOrientedStatus() const
1318  const Dtk_bool &inVerticallyOrientedStatus);
1319 
1320  //! \brief Retrieves the text anchor type - get/set -
1321  //! \return The text anchor type
1322  //! \sa AnchorType() const
1324 
1325  //! \brief Retrieves the text anchor type - read only -
1326  //! \return The text anchor type
1327  //! \sa AnchorType()
1328  const Dtk_anchor_type& AnchorType() const;
1329 
1330  //! \brief Retrieves the text infos - read only -
1331  //! \return The text infos
1332  const Dtk_InfoPtr& GetInfo() const;
1333 
1334  //! \brief Retrieves the text infos
1335  //! \return The text infos
1337 
1338  //! \brief Sets the inner bounding box rotation angle giving a reference base
1339  //! \param inRotationAngle The rotation angle to be set
1340  //! \param inXAxis The reference X Axis - default value = (1,0,0)
1341  //! \param inYAxis The reference Y Axis - default value = (0,1,0)
1342  //! \return dtkNoError if OK
1343  //! \sa GetRotationAngle
1345  const Dtk_dir &inXAxis = Dtk_dir(1,0,0),
1346  const Dtk_dir &inYAxis = Dtk_dir(0,1,0));
1347 
1348  //! \brief Sets the outer bounding box rotation angle giving a reference base
1349  //! \param inRotationAngle The rotation angle to be set
1350  //! \param inXAxis The reference X Axis - default value = (1,0,0)
1351  //! \param inYAxis The reference Y Axis - default value = (0,1,0)
1352  //! \return dtkNoError if OK
1353  //! \sa GetRotationAngle
1355  const Dtk_dir &inXAxis = Dtk_dir(1,0,0),
1356  const Dtk_dir &inYAxis = Dtk_dir(0,1,0));
1357 
1358  //! \brief Gets the inner bounding box rotation angle giving a reference base
1359  //! \param inXAxis The reference X Axis - default value = (1,0,0)
1360  //! \param inYAxis The reference Y Axis - default value = (0,1,0)
1361  //! \return The rotation angle
1362  //! \sa SetRotationAngle
1364  const Dtk_dir &inYAxis = Dtk_dir(0,1,0));
1365 
1366  //! \brief Gets the outer bounding box rotation angle giving a reference base
1367  //! \param inXAxis The reference X Axis - default value = (1,0,0)
1368  //! \param inYAxis The reference Y Axis - default value = (0,1,0)
1369  //! \return The rotation angle
1370  //! \sa SetRotationAngle
1372  const Dtk_dir &inYAxis = Dtk_dir(0,1,0));
1373 
1374  //! \brief Translates the inner bounding box giving a translation vector
1375  //! \param inTranslateDir the translation vector
1376  //! \return dtkNoError if OK
1377  Dtk_ErrorStatus InnerTranslate(const Dtk_dir &inTranslateDir);
1378 
1379  //! \brief Translates the outer bounding box giving a translation vector
1380  //! \param inTranslateDir the translation vector
1381  //! \return dtkNoError if OK
1382  Dtk_ErrorStatus OuterTranslate(const Dtk_dir &inTranslateDir);
1383 
1384  //! \brief Translates the text giving a translation vector
1385  //! \param inTranslateDir the translation vector
1386  //! \return dtkNoError if OK
1387  Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir);
1388 
1389  //! \brief Applies a transformation matrix to the text
1390  //! \param inTransfo The transformation matrix
1391  //! \return dtkNoError if OK
1393 
1394  //! \brief Reverses the text
1395  //! The text anchor type is replaced by the opposed one
1396  //! and the text orientation is reversed.
1397  //! \return dtkNoError if OK
1399 
1400  //! \brief Sets the inner bounding box orientation
1401  //! \param inXAxis The new inner bounding box X Axis
1402  //! \param inYAxis The new inner bounding box Y Axis
1403  //! \sa GetInnerXYAxis
1404  void SetInnerXYAxis(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
1405 
1406  //! \brief Sets the outer bounding box orientation
1407  //! \param inXAxis The new outer bounding box X Axis
1408  //! \param inYAxis The new outer bounding box Y Axis
1409  //! \sa GetOuterXYAxis
1410  void SetOuterXYAxis(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
1411 
1412  //! \brief Gets the inner bounding box orientation
1413  //! \param outXAxis The inner bounding box X Axis
1414  //! \param outYAxis The inner bounding box Y Axis
1415  //! \sa SetInnerXYAxis
1416  void GetInnerXYAxis(Dtk_dir &outXAxis, Dtk_dir &outYAxis) const;
1417 
1418  //! \brief Gets the outer bounding box orientation
1419  //! \param outXAxis The outer bounding box X Axis
1420  //! \param outYAxis The outer bounding box Y Axis
1421  //! \sa SetOuterXYAxis
1422  void GetOuterXYAxis(Dtk_dir &outXAxis, Dtk_dir &outYAxis) const;
1423 
1424  //! \brief Sets the inner bounding box X length
1425  //! \param inXLength The new inner bounding box X length
1426  //! \sa GetInnerBoundingBox
1427  void SetInnerXLength(const Dtk_Double64 &inXLength);
1428 
1429  //! \brief Sets the inner bounding box Y length
1430  //! \param inXLength The new inner bounding box Y length
1431  //! \sa GetInnerBoundingBox
1432  void SetInnerYLength(const Dtk_Double64 &inYLength);
1433 
1434  //! \brief Sets the outer bounding box X length
1435  //! \param inXLength The new outer bounding box X length
1436  //! \sa GetOuterBoundingBox
1437  void SetOuterXLength(const Dtk_Double64 &inXLength);
1438 
1439  //! \brief Sets the outer bounding box Y length
1440  //! \param inXLength The new outer bounding box Y length
1441  //! \sa GetOuterBoundingBox
1442  void SetOuterYLength(const Dtk_Double64 &inYLength);
1443 
1444  //! \brief Processes the mirroring type giving the reference Z Axis.
1445  //! \param inZAxis the reference Z Axis
1446  //! \return The mirroring type
1448  const Dtk_dir &inZAxis = Dtk_dir(0,0,1)) const;
1449 
1450  //! \brief Processes the inner bounding box rotation angle giving the reference Z Axis.
1451  //! \param inZAxis the reference Z Axis
1452  //! \return The rotation angle
1454  const Dtk_dir &inZAxis = Dtk_dir(0,0,1)) const;
1455 
1456  //! \brief Processes the line feed number.
1457  //! \return The line feed number
1459 
1460  //! \brief Processes the bottom-left inner anchor point.
1461  //! \return The bottom-left inner anchor point
1463 
1464  //! \brief Processes the inner bounding box.
1465  //! \return The inner bounding box
1468 
1469  //! \brief Processes the outer bounding box.
1470  //! \return The outer bounding box
1473 
1474  //! \brief Sets the inner bounding box.
1476 
1477  //! \brief Sets the outer bounding box.
1479 
1480  //! \deprecated Use SetInnerBoundingBox() const function instead.
1481  //! \brief Set the text inner anchor point
1482  //! \param inNewOrigin the new location point
1483  //! \param inLocationAnchorType the new location anchor type
1484  //! \return dtkNoError if OK
1485  //SetAsDeprecated("Undefined", "Use SetInnerBoundingBox")
1487  const Dtk_anchor_type& inLocationAnchorType);
1489  const Dtk_anchor_type location_anchor_type);
1490 
1491  //! \brief Set the text outer anchor point
1492  //! \param inNewOrigin the new location point
1493  //! \param inLocationAnchorType the new location anchor type
1494  //! \return dtkNoError if OK
1496  const Dtk_anchor_type& inLocationAnchorType);
1498  const Dtk_anchor_type location_anchor_type);
1499 
1500  //! \brief Creates geometries corresponding to the text frame type
1501  //! \param outGeoms the resulting geometries
1502  //! \return dtkNoError if OK
1504  Dtk_tab<Dtk_CurvePtr> &outGeoms) const;
1505 
1506  //! \brief Explodes the Dtk_Text to other Dtk_Text according the IGES font number
1507  //! \param outNumFontArray Font numbers array - size = outNumTexts -
1508  //! \param outNumTexts Number of resulting texts
1509  //! \return the Exploded resulting Dtk_Text array - size = outNumTexts -.
1510  Dtk_Text *ExplodeText(Dtk_Int32 **outNumFontArray,
1511  Dtk_Int32 &outNumTexts) const;
1512 
1513  friend Dtk_CompositeText operator+(const Dtk_Text &s1, const Dtk_Text &s2);
1514 };
1515 
1516 //! \ingroup draw
1517 //! \class Dtk_CompositeText
1518 //! \brief This is the composite text class.\n
1519 //! It's basically a Dtk_Text Container.\n
1520 //! This class represents a group of several base_texts.\n
1521 //! It contains an inner Dtk_Oriented2dBBox and a outer Dtk_Oriented2dBBox.\n
1522 //! The Dtk_CompositeText uses a lot of informations. The most important ones are shown in the picture below:\n
1523 //! \image html Dtk_CompositeText.png Dtk_CompositeText Most Important Informations
1525 {
1526  struct Dtk_Handle; // Not defined here
1527  Dtk_Handle *_Private; // Handle
1528 
1529 private:
1530  void _Init();
1531  void _Copy(const Dtk_CompositeText& s);
1532  void _Reset();
1533 
1534 public:
1535  //! \BaseDestructor
1537 
1538  //! \BaseConstructor
1540 
1541  //! \CopyConstructor{t}
1543 
1544  //! \MoveConstructor{t}
1546 
1547  //! \brief Pre allocator constructor
1548  //! \param inNumTexts Number of text to be reserved
1549  Dtk_CompositeText(const Dtk_Size_t& inNumTexts);
1550 
1551  //! \brief Constructor from one Dtk_Text
1552  //! \param inText Dtk_Text to be included into
1554 
1555  //! \brief Constructor from several Dtk_Text
1556  //! \param inTexts Dtk_Text to be included into
1558 
1559  //! \AssignmentOp{in}
1561 
1562  //! \MoveOp{in}
1564 
1565  void Clear();
1566 
1567  //! \brief Access operator - get/set -
1568  //! \param inPos The position of the element to be retrieved
1569  //! \return the inPos'th Dtk_Text
1571 
1572  //! \brief Access operator - read only -
1573  //! \param inPos The position of the element to be retrieved
1574  //! \return the inPos'th Dtk_Text
1575  const Dtk_Text& operator[](Dtk_Size_t inPos) const;
1576 
1577  //! \brief Retrieves the texts number
1578  //! \return the texts number
1580 
1581  //! \brief Add all the Dtk_Text from the two Dtk_CompositeText
1582  //! \param s1 the first composite text
1583  //! \param s2 the second composite text
1584  //! \return the resulting Dtk_CompositeText
1587 
1588  //! \brief Merges the Dtk_CompositeText to another one
1589  //! \param s2 The first Dtk_CompositeText to merge to this
1591 
1592  //! \deprecated Use GetOuterBoundingBox() const function instead.
1593  //! \brief Processes all the Dtk_CompositeText outer anchor points
1594  //! \param outTabPnts the resulting anchor point array
1595  //! \return dtkNoError if OK
1596  SetAsDeprecated("Undefined", "Use GetOuterBoundingBox")
1597  Dtk_ErrorStatus GetOuterAnchorPoints(
1598  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
1599 
1600  //! \brief Processes the inner bounding box.
1601  //! \return The inner bounding box
1603 
1604  //! \brief Processes the outer bounding box.
1605  //! \param inIncludeInvisible : If DTK_TRUE - default value - invisible texts are processed . Else They are not.
1606  //! \return The outer bounding box
1607  const Dtk_Oriented2dBBox GetOuterBoundingBox( Dtk_bool inIncludeInvisible = DTK_TRUE ) const;
1608 
1609  //! \brief Processes the inner bounding box.
1610  //! \param outError Return dtkNoError if OK
1611  //! \return The inner bounding box
1613  const;
1614 
1615  //! \brief Processes the outer bounding box.
1616  //! \param outError Return dtkNoError if OK
1617  //! \param inIncludeInvisible : If DTK_TRUE - default value - invisible texts are processed . Else They are not.
1618  //! \return The outer bounding box
1620  Dtk_bool inIncludeInvisible = DTK_TRUE )
1621  const;
1622 
1623  //! \brief Retrieves the wrapping width
1624  //! \return The wrapping width
1626 
1627  //! \brief Sets the wrapping width
1628  //! \param inWrappingWidth The new wrapping width
1629  void SetWrappingWidth(const Dtk_Double64 &inWrappingWidth);
1630 
1631  //! \brief Set the Dtk_CompositeText inner anchor point
1632  //! \param inNewLocationPnt The new anchor point
1633  //! \param inNewAnchorType The new anchor type
1634  //! \param inStartingGetText The starting text - -1 to process from the 1st text - for the old anchor points process
1635  //! \param inNumGetTexts The number of processed texts - -1 to process all texts from starting text - for the old anchor points process
1636  //! \param inStartingSetText The starting text - -1 to process from the 1st text - for the new anchor points process
1637  //! \param inNumSetTexts The number of processed texts - -1 to process all texts from starting text - for the new anchor points process
1638  //! \return dtkNoError if OK
1640  const Dtk_anchor_type &inNewAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
1641  const Dtk_Int32 &inStartingGetText = -1,
1642  const Dtk_Int32 &inNumGetTexts = -1,
1643  const Dtk_Int32 &inStartingSetText = -1,
1644  const Dtk_Int32 &inNumSetTexts = -1);
1645 
1646  //! \brief Set the Dtk_CompositeText outer anchor point
1647  //! \param inNewLocationPnt The new anchor point
1648  //! \param inNewAnchorType The new anchor type
1649  //! \param inStartingGetText The starting text - -1 to process from the 1st text - for the old anchor points process
1650  //! \param inNumGetTexts The number of processed texts - -1 to process all texts from starting text - for the old anchor points process
1651  //! \param inStartingSetText The starting text - -1 to process from the 1st text - for the new anchor points process
1652  //! \param inNumSetTexts The number of processed texts - -1 to process all texts from starting text - for the new anchor points process
1653  //! \param inOffSet For internal use only
1654  //! \param inBoundingType The bounding type
1655  //! \return dtkNoError if OK
1657  const Dtk_anchor_type &inNewAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
1658  const Dtk_Int32 &inStartingGetText = -1,
1659  const Dtk_Int32 &inNumGetTexts = -1,
1660  const Dtk_Int32 &inStartingSetText = -1,
1661  const Dtk_Int32 &inNumSetTexts = -1);
1662 
1664  Dtk_tab<Dtk_CurvePtr> &outGeoms) const;
1665 
1666  //! \brief Sets the inner bounding box X Axis for the Dtk_CompositeText and included Dtk_Texts
1667  //! \param inXAxis The new inner bounding box X Axis
1668  //! \return dtkNoError if OK
1670 
1671  //! \brief Sets the outer bounding box X Axis for the Dtk_CompositeText and included Dtk_Texts
1672  //! \param inXAxis The new outer bounding box X Axis
1673  //! \return dtkNoError if OK
1675 
1676  //! \brief Sets the inner bounding box Y Axis for the Dtk_CompositeText and included Dtk_Texts
1677  //! \param inYAxis The new inner bounding box Y Axis
1678  //! \return dtkNoError if OK
1680 
1681  //! \brief Sets the outer bounding box Y Axis for the Dtk_CompositeText and included Dtk_Texts
1682  //! \param inYAxis The new outer bounding box Y Axis
1683  //! \return dtkNoError if OK
1685 
1686  //! \brief Sets the inner bounding box X and Y axes for the Dtk_CompositeText and included Dtk_Texts
1687  //! \param inXAxis The new inner bounding box X Axis
1688  //! \param inYAxis The new inner bounding box Y Axis
1689  //! \return dtkNoError if OK
1691  const Dtk_dir &inYaxis);
1692 
1693  //! \brief Sets the outer bounding box X and Y axes for the Dtk_CompositeText and included Dtk_Texts
1694  //! \param inXAxis The new outer bounding box X Axis
1695  //! \param inYAxis The new outer bounding box Y Axis
1696  //! \return dtkNoError if OK
1698  const Dtk_dir &inYaxis);
1699 
1700  //! \brief Retrieves the infos
1701  //! \return The infos
1702  const Dtk_InfoPtr& GetInfo() const;
1703 
1704  //! \brief Retrieves the infos
1705  //! \return The infos
1707 
1708  //! \brief Reverses the Dtk_CompositeText and included Dtk_Texts
1709  //! \sa Dtk_Text::Reverse
1710  //! \return dtkNoError if OK
1712 
1713  //! \brief Adds a Dtk_Text to the Dtk_CompositeText
1714  //! \param inText The Dtk_Text to be added
1715  void AddText( Dtk_Text inText);
1716 
1717  //! \brief Replaces all the included Dtk_Texts by the given ones
1718  //! \param inTexts The Dtk_Texts to add
1719  void ReplaceTexts(const Dtk_tab<Dtk_Text> &inTexts);
1720 
1721  //! \brief Merges the Dtk_CompositeText to Dtk_string
1722  //! \return The merged Dtk_string
1724 
1725  //! \brief Applies a transformation matrix to the Dtk_CompositeText and included Dtk_Texts
1726  //! \param inTransfo The transformation matrix to apply
1728 
1729  //! \brief Translates the Dtk_CompositeText giving a translation vector
1730  //! \param inTranslateDir the translation vector
1731  //! \return dtkNoError if OK
1732  Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir);
1733 };
1734 
1735 //! \ingroup draw
1736 //! \class Dtk_2dEntity
1737 //! \brief This is the abstract Dtk_2dEntity class.\n
1738 //! Gathers Dtk_Annotation and Dtk_Dimension.
1739 //! \SmartPtr{Dtk_2dEntityPtr}
1740 class Dtk_2dEntity : public Dtk_Entity
1741 {
1742 protected:
1743  struct Dtk_Handle; // Not defined here
1744  Dtk_Handle *_Private; // Handle
1745  enum {
1746  _typeID = DTK_TYPE_2D_ENTITY
1747  };
1748  //! \BaseDestructor
1749  virtual ~Dtk_2dEntity();
1750 
1751  //! \BaseConstructor
1753 
1754  //! \CopyConstructor{in}
1756  //! \MoveConstructor{in}
1758  virtual Dtk_Object* Clone() = 0;
1759 
1760 protected:
1761  void _Init();
1762  void _Reset();
1763  void _Copy(const Dtk_2dEntity &s);
1764  friend class Dtk_SmartPtr<Dtk_2dEntity>;
1765 public:
1766 
1767  //! \DtkDynamicType
1769 
1770  //! \DtkDynamicCast
1772 
1773  virtual type_detk get_type_detk() const = 0;
1774 
1775  //! \AssignmentOp{in}
1777  //! \MoveOp{in}
1779 
1780  //! \Transform{inTransfo}
1782 
1783  //! \brief Adds an additionnal geometry to the Dtk_2dEntity
1784  //! \param inAdditionnalGeometry The geometry to be added
1785  void AddAdditionnalGeometry( const Dtk_EntityPtr& inAdditionnalGeometry);
1786 
1787  //! \brief Adds some additionnal geometries to the Dtk_2dEntity
1788  //! \param inAdditionnalGeometries The geometries to be added
1789  void AddAdditionnalGeometries(const Dtk_tab<Dtk_EntityPtr>& inAdditionnalGeometries);
1790 
1791  //! \brief Adds some additionnal texts to the Dtk_2dEntity
1792  //! \param inAddtionnalTexts The texts to be added
1793  void AddAdditionnalTexts( Dtk_CompositeText inAddtionnalTexts);
1794 
1795  //! \brief Retrieves the additionnal geometries of the Dtk_2dEntity
1796  //! \return The additionnal geometries array - read only -.
1798 
1799  //! \brief Retrieves the additionnal texts of the Dtk_2dEntity
1800  //! \return The additionnal texts - read only -.
1802 };
1803 
1804 //! \ingroup draw
1805 //! \class Dtk_Leader
1806 //! \brief This class graphically represents leader of annotations.\n It is part of Dtk_Annotation and Dtk_Dimension.
1807 //! \details Its main curve (also called LeaderCurve), is represented using a Dtk_Polyline. The following schema indicated the points order to expect.
1808 //! \image html PolylineLeader.png
1809 //! The first point of the Dtk_Polyline indicates the location of the ArrowHead / leader terminator. See the following schema for a simple representation of an ArrowHead, with a head of type Dtk_Leader::TerminatorTypeOpenArrow.
1810 //! \image html LeaderTeminator.png width=800cm
1811 //! In Datakit representation, a leader can also have an extension line, that usually points from the annotation to the model geometry.
1812 //! \image html Dtk_LeaderExtensionLine.png
1813 //! Dtk_Dimension is the most common annotation having leaders with an extension line, but it is also possible for a Dtk_Roughness or any other kind of Dtk_Annotation.
1814 //! \warning To represent a stand-alone extension line, it is possible to encounter a leader with an extension line, and no main curve.
1815 //! \SmartPtr{Dtk_LeaderPtr}
1817 {
1818 public:
1819 
1820  //! \class ApplicationZone
1821  //! \brief This is the application zone class.\n
1822  //! It is used to gather all application zone information.
1824  {
1825  public:
1827  {
1828  Default = 0,
1829  AllAround = 1,
1830  AllOver = 2,
1831  };
1833  {
1834  switch( inEnum )
1835  {
1836  default:
1837  case Default: return L"Default";
1838  case AllAround: return L"AllAround";
1839  case AllOver: return L"AllOver";
1840  }
1841  }
1842  protected:
1845  inline void _Init()
1846  {
1847  _ApplicationZoneType = Default;
1848  }
1849  inline void _Copy(const ApplicationZone &s)
1850  {
1851  _ApplicationZoneType = s._ApplicationZoneType;
1852  Dtk_Size_t i, NumElts = s._RelatedGeomElements.size();
1853  for( i = 0 ; i < NumElts ; i++)
1854  {
1855  Dtk_CurvePtr c;
1856  s._RelatedGeomElements[i].Clone(c);
1857  _RelatedGeomElements.push_back(c);
1858  }
1859  }
1860  inline void _Reset(){ _RelatedGeomElements.clear();}
1861  public:
1862 
1863  //! \brief Full featured constructor
1864  //! \param inApplicationZoneType ApplicationZone Type.
1865  //! \param inRelatedGeometricalElts Geometries representing the frame.
1866  ApplicationZone(const ApplicationZoneEnum& inApplicationZoneType,
1867  const Dtk_tab< Dtk_CurvePtr >& inRelatedGeometricalElts);
1868 
1869  //! \BaseConstructor
1871  {
1872  _Init();
1873  }
1874 
1875  //! \BaseDestructor
1876  inline ~ApplicationZone(){ _Reset();}
1877 
1878  //! \brief Clear elements
1879  inline void Clear()
1880  {
1881  _ApplicationZoneType = Default;
1882  _RelatedGeomElements.clear();
1883  }
1884 
1885  //! \brief Set ApplicationZone informations.
1886  //! \param inApplicationZoneType The ApplicationZone Type.
1887  //! \param inRelatedGeometricalElts Geometries representing the Application Zone Symbol.
1888  inline void SetApplicationData(
1889  const ApplicationZoneEnum& inApplicationZoneType,
1890  Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements )
1891  {
1892  this->_ApplicationZoneType = inApplicationZoneType;
1893  this->_RelatedGeomElements = std::move( inRelatedGeomElements );
1894  }
1895  //! \brief Retrieves the ApplicationZone Type - Read Only -
1896  //! \return The ApplicationZone Type.
1897  inline ApplicationZoneEnum GetApplicationZoneType() const {return _ApplicationZoneType;}
1898 
1899  //! \brief Process Related geometries.
1900  inline void GetGeometries(Dtk_tab< Dtk_CurvePtr >& outGeoms) const
1901  {
1902  Dtk_Size_t i,nb = this->_RelatedGeomElements.size();
1903  outGeoms.resize(nb);
1904  for(i=0;i<nb;i++)
1905  this->_RelatedGeomElements[i].Clone(outGeoms[i]);
1906  }
1907 
1908  //! \brief Translates the ApplicationZone giving a translation vector
1909  //! \param inTranslateDir the translation vector
1910  //! \return dtkNoError if OK
1911  inline Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
1912  {
1913  Dtk_transfo TmpMatrix;
1914  TmpMatrix.addTranslate( inTranslateDir );
1915  return Transform( TmpMatrix );
1916  }
1917  //! \brief Applies a transformation matrix to the ApplicationZone
1918  //! \param inTransfo The transformation matrix
1919  //! \return dtkNoError if OK
1921  {
1922  if( inTransfo == Dtk_transfo() )
1923  return dtkNoError;
1924  Dtk_Size_t i, NumGeoms = _RelatedGeomElements.size();
1925  for (i = 0; i < NumGeoms; i++)
1926  { _RelatedGeomElements[i]->Transform( inTransfo ); }
1927  return dtkNoError;
1928  }
1929 
1930  //! \AssignmentOp{in}
1932  {
1933  if (&in == this)
1934  {
1935  return *this;
1936  }
1937  _Reset();
1938  _Copy(in);
1939  return *this;
1940  }
1941  //! \MoveOp{in}
1943  {
1944  if( &in == this )
1945  {
1946  return *this;
1947  }
1948  _ApplicationZoneType = in._ApplicationZoneType;
1949  _RelatedGeomElements = std::move( in._RelatedGeomElements );
1950  return *this;
1951  }
1952  };
1953 
1954  //! \brief Internal leader terminator type
1956  //! \image html TerminatorTypeNone.png
1957  TerminatorTypeNone = 0,
1958  //! \image html TerminatorTypeOpenArrow.png
1960  //! \image html TerminatorTypeClosedArrow.png
1962  //! \image html TerminatorTypeFillArrow.png
1964  //! \image html TerminatorTypeCrossArrow.png
1966  //! \image html TerminatorTypeCircle.png
1968  //! \image html TerminatorTypeFilledCircle.png
1970  //! \image html TerminatorTypeSquare.png
1972  //! \image html TerminatorTypeFilledSquare.png
1974  //! \image html TerminatorTypeSlash.png
1976  //! \image html TerminatorTypeCrossedCircle.png
1978  //! \image html TerminatorTypeXCircle.png
1980  //! \image html TerminatorTypeTriangle.png
1982  //! \image html TerminatorTypeFilledTriangle.png
1984  //! \image html TerminatorTypePlus.png
1986  //! \image html TerminatorTypeXCross.png
1988  //! \image html TerminatorTypeIntegral.png
1990  //! \image html TerminatorTypeCircleCenter.png
1992  //! \image html TerminatorTypeDoubleOpenArrow.png
1994  //! \image html TerminatorTypeDoubleCloseArrow.png
1996  //! \image html TerminatorTypeDoubleFillArrow.png
1998  //! \image html TerminatorTypeDoubleTriangle.png
2000  //! \image html TerminatorTypeTopOpenArrow.png
2002  //! \image html TerminatorTypeBottomOpenArrow.png
2004  //! \image html TerminatorTypeTopFillArrow.png
2006  //! \image html TerminatorTypeBottomFillArrow.png
2008  //! \image html TerminatorTypeDoubleCrossArrow.png
2010 
2011  };
2013  {
2014  switch( inEnum )
2015  {
2016  case TerminatorTypeNone: return L"TerminatorTypeNone";
2017  case TerminatorTypeOpenArrow: return L"TerminatorTypeOpenArrow";
2018  case TerminatorTypeClosedArrow: return L"TerminatorTypeClosedArrow";
2019  case TerminatorTypeFillArrow: return L"TerminatorTypeFillArrow";
2020  case TerminatorTypeCrossArrow: return L"TerminatorTypeCrossArrow";
2021  case TerminatorTypeCircle: return L"TerminatorTypeCircle";
2022  case TerminatorTypeFilledCircle: return L"TerminatorTypeFilledCircle";
2023  case TerminatorTypeSquare: return L"TerminatorTypeSquare";
2024  case TerminatorTypeFilledSquare: return L"TerminatorTypeFilledSquare";
2025  case TerminatorTypeSlash: return L"TerminatorTypeSlash";
2026  case TerminatorTypeCrossedCircle: return L"TerminatorTypeCrossedCircle";
2027  case TerminatorTypeXCircle: return L"TerminatorTypeXCircle";
2028  case TerminatorTypeTriangle: return L"TerminatorTypeTriangle";
2029  case TerminatorTypeFilledTriangle: return L"TerminatorTypeFilledTriangle";
2030  case TerminatorTypePlus: return L"TerminatorTypePlus";
2031  case TerminatorTypeXCross: return L"TerminatorTypeXCross";
2032  case TerminatorTypeIntegral: return L"TerminatorTypeIntegral";
2033  case TerminatorTypeCircleCenter: return L"TerminatorTypeCircleCenter";
2034  case TerminatorTypeDoubleOpenArrow: return L"TerminatorTypeDoubleOpenArrow";
2035  case TerminatorTypeDoubleCloseArrow: return L"TerminatorTypeDoubleCloseArrow";
2036  case TerminatorTypeDoubleFillArrow: return L"TerminatorTypeDoubleFillArrow";
2037  case TerminatorTypeDoubleTriangle: return L"TerminatorTypeDoubleTriangle";
2038  case TerminatorTypeTopOpenArrow: return L"TerminatorTypeTopOpenArrow";
2039  case TerminatorTypeBottomOpenArrow: return L"TerminatorTypeBottomOpenArrow";
2040  case TerminatorTypeTopFillArrow: return L"TerminatorTypeTopFillArrow";
2041  case TerminatorTypeBottomFillArrow: return L"TerminatorTypeBottomFillArrow";
2042  case TerminatorTypeDoubleCrossArrow: return L"TerminatorTypeDoubleCrossArrow";
2043 
2044  default: return L"Unknown";
2045  }
2046  }
2048  {
2049  IncludeAll = -1,
2050  IncludeNone = 0,
2051  IncludeLeaderCurve = 1,
2052  IncludeLeaderArrowHead = 2,
2053  IncludeLeaderExtensionLine = 4,
2054  IncludeLeaderApplicationZone = 8,
2055  };
2056 
2057  //! \brief This class graphically represents a leader head.
2059  {
2060  protected:
2066 
2067  inline void _Init()
2068  {
2069  m_Infos = Dtk_Info::create();
2070  m_HeadType = TerminatorTypeOpenArrow;
2071  //m_RefDir;// = Dtk_dir( 1.0, 0.0, 0.0 );
2072  //m_AxisDir;// = Dtk_dir( 0.0, 1.0, 0.0 );
2073  }
2074  inline void _Copy( const ArrowHead &s )
2075  {
2076  s.m_Infos.Clone( m_Infos );
2077  m_HeadType = s.m_HeadType;
2078  m_ArrowLocation = s.m_ArrowLocation;
2079  m_RefDir = s.m_RefDir;
2080  m_AxisDir = s.m_AxisDir;
2081  }
2082  inline void _Reset()
2083  {
2084  m_Infos = NULL;
2085  m_HeadType = TerminatorTypeOpenArrow;
2086  //m_RefDir;// = Dtk_dir( 1.0, 0.0, 0.0 );
2087  //m_AxisDir;// = Dtk_dir( 0.0, 1.0, 0.0 );
2088  }
2089  protected:
2090  public:
2091  inline ArrowHead(
2092  const Dtk_Double64 inWidth,
2093  const Dtk_Double64 inHeight,
2094  const Dtk_pnt& inArrowLocation,
2095  const LeaderTerminatorTypeEnum inTerminatorType,
2096  const Dtk_InfoPtr& inInfos,
2097  const Dtk_dir& inRefDir,
2098  const Dtk_dir& inAxisDir )
2099  {
2100  SetData( inWidth, inHeight, inArrowLocation, inTerminatorType, inInfos, inRefDir, inAxisDir );
2101  }
2102  //! \BaseConstructor
2103  inline ArrowHead() { _Init(); }
2104  //! \BaseDestructor
2105  inline ~ArrowHead() { _Reset(); }
2106 
2107  inline void SetData( const Dtk_Double64 inWidth,
2108  const Dtk_Double64 inHeight,
2109  const Dtk_pnt& inArrowLocation,
2110  const LeaderTerminatorTypeEnum inTerminatorType,
2111  const Dtk_InfoPtr& inInfos,
2112  const Dtk_dir& inRefDir,
2113  const Dtk_dir& inAxisDir )
2114  {
2115  m_HeadType = inTerminatorType;
2116  m_ArrowLocation = inArrowLocation;
2117  m_RefDir = inRefDir;
2118  m_AxisDir = inAxisDir;
2119  SetWidthHeight( inWidth, inHeight );
2120  m_Infos = inInfos;
2121  }
2122  inline const Dtk_InfoPtr& GetInfo() const { return m_Infos; }
2123  inline Dtk_InfoPtr& GetInfo() { return m_Infos; }
2124  inline const Dtk_pnt& GetArrowLocation() const { return m_ArrowLocation; }
2125  inline const LeaderTerminatorTypeEnum GetType() const { return m_HeadType; }
2126  inline void SetType( const LeaderTerminatorTypeEnum inTerminatorType ) { m_HeadType = inTerminatorType; }
2127 
2128  inline void GetDirections( Dtk_dir& outRefDir, Dtk_dir& outAxisDir ) const
2129  {
2130  outRefDir = m_RefDir; outRefDir.Normalize();
2131  outAxisDir = m_AxisDir; outAxisDir.Normalize();
2132  }
2133  inline void GetWidthHeight( Dtk_Double64& outWidth, Dtk_Double64& outHeight ) const
2134  {
2135  outWidth = m_RefDir.norm();
2136  outHeight = 2. * m_AxisDir.norm();
2137  }
2138  inline void SetWidthHeight( const Dtk_Double64 inWidth, const Dtk_Double64 inHeight )
2139  {
2140  m_RefDir.Normalize();
2141  m_AxisDir.Normalize();
2142  m_RefDir *= inWidth;
2143  m_AxisDir *= 0.5 * inHeight;
2144  }
2145  void CreateGeometries( Dtk_tab< Dtk_CurvePtr >& outRes , Dtk_Int32 inByPolygon=DTK_FALSE ) const;
2146  //! \brief Translates the ApplicationZone giving a translation vector
2147  //! \param inTranslateDir the translation vector
2148  //! \return dtkNoError if OK
2149  inline Dtk_ErrorStatus Translate( const Dtk_dir &inTranslateDir )
2150  {
2151  Dtk_transfo TmpMatrix;
2152  TmpMatrix.addTranslate( inTranslateDir );
2153  return Transform( TmpMatrix );
2154  }
2155  //! \brief Applies a transformation matrix to the ApplicationZone
2156  //! \param inTransfo The transformation matrix
2157  //! \return dtkNoError if OK
2159  {
2160  m_RefDir = inTransfo * m_RefDir;
2161  m_AxisDir = inTransfo * m_AxisDir;
2162  m_ArrowLocation = inTransfo * m_ArrowLocation;
2163  return dtkNoError;
2164  }
2165 
2166  //! \AssignmentOp{in}
2168  {
2169  if( &in == this )
2170  {
2171  return *this;
2172  }
2173  _Reset();
2174  _Copy( in );
2175  return *this;
2176  }
2177 
2178 
2179  };
2180 public:
2181  //! \brief Internal leader type - linear or angular -
2183  {
2184  TypeUnknown = 0,
2186  TypeAngular
2187  };
2188 
2189 protected:
2190  struct Dtk_Handle; // Not defined here
2191  Dtk_Handle *_Private; // Handle
2192  enum {
2193  _typeID = DTK_TYPE_LEADER
2194  };
2195  //! \sa Create()
2197 
2198  //! \sa Create(const Dtk_Leader& )
2199  Dtk_Leader(const Dtk_Leader& in );
2200  //! \sa Create( Dtk_Leader&& )
2202 
2204  const Dtk_Double64 &inWidth,
2205  const Dtk_Double64 &inHeight,
2206  const Dtk_pnt &inArrowLocation,
2207  const Dtk_Double64 &inRadius,
2208  const LeaderTerminatorTypeEnum &inTerminatorType,
2209  const Dtk_pnt &inEndingPnt,
2210  const Dtk_pnt &inCenterPnt,
2211  const Dtk_bool &IsCounterClockwise );
2213  const Dtk_Double64 &inWidth,
2214  const Dtk_Double64 &inHeight,
2215  const Dtk_pnt &inArrowLocation,
2216  const LeaderTerminatorTypeEnum &inTerminatorType,
2217  const Dtk_tab<Dtk_pnt> &inPntsArray );
2218  //! \sa Create(const Dtk_Double64 &,const Dtk_Double64 &, const Dtk_pnt &, const Dtk_Double64 &, const LeaderTerminatorTypeEnum &, const Dtk_pnt &, const Dtk_pnt &, const Dtk_bool &)
2220  const Dtk_Double64 &inWidth,
2221  const Dtk_Double64 &inHeight,
2222  const Dtk_pnt &inArrowLocation,
2223  const Dtk_Double64 &inRadius,
2224  const LeaderTerminatorTypeEnum &inTerminatorType,
2225  const Dtk_pnt &inEndingPnt,
2226  const Dtk_pnt &inCenterPnt,
2227  const Dtk_bool &IsCounterClockwise);
2228  //! \sa Create(const Dtk_Double64 &, const Dtk_Double64 &, const Dtk_pnt &, const LeaderTerminatorTypeEnum &, const Dtk_tab<Dtk_pnt> &)
2230  const Dtk_Double64 &inWidth,
2231  const Dtk_Double64 &inHeight,
2232  const Dtk_pnt &inArrowLocation,
2233  const LeaderTerminatorTypeEnum &inTerminatorType,
2234  const Dtk_tab<Dtk_pnt> &inPntsArray );
2235 
2236  //! \BaseDestructor
2237  virtual ~Dtk_Leader();
2238  inline virtual Dtk_Object* Clone() { return new Dtk_Leader( *this ); }
2239 private:
2240  void _Init();
2241  void _Reset();
2242  void _Copy(const Dtk_Leader &s);
2243 
2244  friend class Dtk_SmartPtr<Dtk_Leader>;
2245 public:
2246  //! \DtkDynamicType
2248 
2249  //! \DtkDynamicCast
2251 
2252  //! \CreateBase
2254 
2255  //! \CreateCopy{s}
2256  static Dtk_LeaderPtr Create(const Dtk_Leader &s);
2257  //! \CreateMove{s}
2259 
2260  //! \brief Angular leader constructor.
2261  //! \param inWidth Arrow width
2262  //! \param inHeight Arrow height
2263  //! \param inArrowLocation Arrow location point
2264  //! \param inRadius Leader radius
2265  //! \param inTerminatorType Terminator type
2266  //! \param inEndingPnt Leader ending point
2267  //! \param inCenterPnt Center point
2268  //! \param IsCounterClockwise DTK_TRUE if the leader angle is counter-clockwise
2269  static Dtk_LeaderPtr Create(const Dtk_Double64 &inWidth,
2270  const Dtk_Double64 &inHeight, const Dtk_pnt &inArrowLocation,
2271  const Dtk_Double64 &inRadius,
2272  const LeaderTerminatorTypeEnum &inTerminatorType,
2273  const Dtk_pnt &inEndingPnt, const Dtk_pnt &inCenterPnt,
2274  const Dtk_bool &IsCounterClockwise);
2275 
2276  //! \brief Linear leader constructor.
2277  //! \param inWidth Arrow width
2278  //! \param inHeight Arrow height
2279  //! \param inArrowLocation Arrow location point
2280  //! \param inTerminatorType Terminator type
2281  //! \param inPntsArray Points array representing the leader body - in polyline form -
2282  static Dtk_LeaderPtr Create(const Dtk_Double64 &inWidth,
2283  const Dtk_Double64& inHeight, const Dtk_pnt &inArrowLocation,
2284  const LeaderTerminatorTypeEnum &inTerminatorType,
2285  const Dtk_tab<Dtk_pnt> &inPntsArray);
2286 
2287 
2288  //! \brief Retrieves the leader terminator informations.
2289  //! \param outWidth Arrow width
2290  //! \param outHeight Arrow height
2291  //! \param outArrowLocation Arrow location point
2292  //! \param outTerminatorType Terminator type
2293  //! \return dtkNoError if OK
2295  Dtk_Double64 &outHeight, Dtk_pnt &outArrowLocation,
2296  LeaderTerminatorTypeEnum &outTerminatorType) const;
2297 
2298  //! \AssignmentOp{in}
2300  //! \MoveOp{in}
2302 
2303  //! \brief Returns the leader curve
2304  //! \return Dtk_CurvePtr or NULL.
2306 
2307  //! \brief Set the leader curve Color.
2308  //! \param inColor The curve Color.
2309  void SetLeaderCurveColor( const Dtk_RGB& inColor );
2310 
2311  //! \brief Set the leader curve Thickness in Millimeters.
2312  //! \param inCurveThicknessinMM The curve Thickness in Millimeters.
2313  void SetLeaderCurveThicknessInMM( const Dtk_Double64 inCurveThicknessinMM );
2314 
2315  //! \brief Set the leader curve FontLineType .
2316  //! \param inCurveLineType The curve FontLineType .
2317  void SetLeaderCurveLineType(const Dtk_FontLineType inCurveLineType);
2318 
2319  //! \brief Gets the leader type - read only -
2320  //! \return The leader type
2322 
2323  //! \brief Get the leader Extendion Line.
2324  //! \return The Dtk_PolylinePtr defining the Extension Line.
2326 
2327  //! \brief Set the leader Extendion Line.
2328  //! \param inExtLine The Dtk_PolylinePtr defining the Extension Line.
2329  void SetExtensionLine( const Dtk_PolylinePtr& inExtLine );
2330 
2331  //! \brief Set the Leader Terminator Type
2332  //! \param inTerminatorType The Leader Terminator Type
2333  void SetLeaderTerminatorType(const LeaderTerminatorTypeEnum &inTerminatorType);
2334 
2335  void SetLeaderWidthHeight(const Dtk_Double64& inWidth, const Dtk_Double64& inHeight);
2336 
2337  void SetArrowHead( const ArrowHead& inArroWHead );
2338  const ArrowHead& GetArrowHead() const;
2340 
2341  //! \brief Converts the Dtk_Leader to geometrical elements
2342  //! \param outGeomsArray Geometrical elements array
2343  void ConvertToGeom(Dtk_tab<Dtk_CurvePtr> &outGeomsArray, const IncludeOptions inConvertToGeomFilter = IncludeAll, Dtk_Int32 inByPolygon=DTK_FALSE) const;
2344 
2345  //! \brief Retrieves the infos
2346  //! \return The infos
2348 
2349  //! \Transform{inTransfo}
2351 
2352  //! \brief Set the text frame information - get/set -
2353  //! \return The text frame type
2354  //! \sa FrameType() const
2355  void SetApplicationZoneType( const Dtk_Leader::ApplicationZone::ApplicationZoneEnum& inApplicationZoneType, const Dtk_tab< Dtk_CurvePtr >& inRelatedGeomElements);
2356 
2357  //! \brief Retrieves the Frame - read only -
2358  //! \param outFrame The frame
2359  //! \sa FrameType() const
2360  void GetApplicationZone(Dtk_Leader::ApplicationZone& outApplicationZone) const;
2361 
2362  //! \brief Retrieves the Frame - read only -
2363  //! \param outFrame The frame
2364  //! \sa FrameType() const
2366 
2367 
2368  //! \brief OBSOLETE Retrieves the status of the all around property for the current drawing leader
2369  //! \return DTK_TRUE or DTK_FALSE
2370  //! \deprecated Use GetApplicationZoneType() const or GetApplicationZone()::GetApplicationZoneType() methods instead.
2372 
2373  //! \brief Retrieves The ArrowHead Location point - Get Only -.
2374  //! \return The ArrowHead Location point.
2375  const Dtk_pnt& GetArrowLocation() const;
2376 
2377  //! \brief Set the status of the all around property for the current drawing leader
2378  //! \param inAllAroundSetValue as boolean value
2379  void SetAllAroundSet(const Dtk_bool & inAllAroundSetValue);
2380 
2381  //! \brief Retrieves the value of the leader stub.
2382  //! \return double.
2383  //! \remark If the Stub Delta is positive, the last leader segment represents the stub.
2384  double GetStubDelta() const;
2385 
2386  //! \brief Set the value of the leader stub.
2387  //! \param inStubDelta as double value.
2388  //! \remark If the Stub Delta is positive, the last leader segment represents the stub.
2389  void SetStubDelta(const double & inStubDelta);
2390 
2391 };
2392 
2393 //! \ingroup draw
2394 //! \class Dtk_Annotation
2395 //! \brief This is abstract Dtk_Annotation class.
2396 //! \SmartPtr{Dtk_AnnotationPtr}
2398 {
2399 protected:
2400  struct Dtk_Handle; // Not defined here
2401  Dtk_Handle *_Private; // Handle
2402  enum {
2403  _typeID = DTK_TYPE_ANNOTATION
2404  };
2405  //! \BaseDestructor
2406  virtual ~Dtk_Annotation();
2407 
2408  //! \BaseConstructor
2410 
2411  //! \CopyConstructor{in}
2413  //! \MoveConstructor{in}
2415 
2416  //! \brief Full featured constructor
2417  //! \param inLocationPnt Location of the Dtk_Annotation
2418  //! \param inInfos Infos
2419  //! \param inLeadersArray Addittional leaders array
2420  //! \param inAngle Angle
2421  //! \param inOffSet Offset
2422  //! \param inAnchorType Annotation anchor type
2423  //! \param inJustificationType Annotation justification type
2424  Dtk_Annotation(const Dtk_pnt &inLocationPnt, const Dtk_InfoPtr &inInfos,
2426  const Dtk_Double64 &inAngle = 0.0, const Dtk_Double64 &inOffSet = 0.0,
2427  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2428  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2429  virtual Dtk_Object* Clone() = 0;
2430 
2431 private:
2432  void _Init();
2433  void _Reset();
2434  void _Copy(const Dtk_Annotation &s);
2435  friend class Dtk_SmartPtr<Dtk_Annotation>;
2436 public:
2437  //! \DtkDynamicType
2439 
2440  //! \DtkDynamicCast
2442 
2443  //! \AssignmentOp{in}
2445  //! \MoveOp{in}
2447 
2448  //! \brief Retrieves the number of leaders
2449  //! \return The number of leaders
2451 
2452  //! \brief Gets the i'th leader
2453  //! \param inPos The leader position - 0 indexed -
2454  //! \return The inPos'th leader
2455  Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) const;
2456 
2457  //! \brief Adds a leader to the Dtk_Annotation
2458  //! \param leader The leader to be added
2459  //! \return dtkNoError is OK
2460  //! \remarks If Added leader is NULL, so no leader is added.
2462 
2463  //! \brief Get the justification type - read only -
2464  //! \return The justification type
2465  //! \deprecated use the Dtk_TextStyle::Justification() instead
2466  SetAsDeprecated("Undefined", "Use Dtk_TextStyle::Justification()")
2467  Dtk_justication_type GetJustification() const;
2468 
2469  //! \brief Gets the text rotation angle giving a reference base.
2470  //! \param inXAxis The reference X Axis - default value = (1,0,0) -
2471  //! \param inYAxis The reference Y Axis - default value = (0,1,0) -
2472  //! \return The rotation angle.
2473  Dtk_Double64 GetRotationAngle(
2474  const Dtk_dir &inXAxis = Dtk_dir(1,0,0),
2475  const Dtk_dir& inYAxis = Dtk_dir(0,1,0)) const;
2476 
2477  //! \brief Gets the annotation offset - read only -
2478  //! \return The annotation offset.
2479  //! \warning For internal use only
2480  Dtk_Double64 GetOffset() const;
2481 
2482  //! \brief Get the X Axis - read only -
2483  //! \return The X Axis.
2484  Dtk_dir GetXAxis() const;
2485 
2486  //! \brief Get the Y Axis - read only -
2487  //! \return The Y Axis.
2488  Dtk_dir GetYAxis() const;
2489 
2490  //! \brief Gets the location anchor type - read only -
2491  //! \return The location anchor type.
2492  const Dtk_anchor_type& GetLocationAnchorType() const;
2493 
2494  //! \brief Get the annoation location point
2495  //! \return The location point
2496  virtual Dtk_pnt GetLocation() const;
2497 
2498  //! \brief Reverses the Dtk_Annotation.
2500 
2501  // The interface functions
2502  virtual type_detk get_type_detk() const = 0;
2503 
2504  //! \brief Processes all the Dtk_Annotation anchor points.
2505  //! \param outTabPnts The resulting anchor point array.
2506  //! \return dtkNoError if OK
2507  virtual Dtk_ErrorStatus GetAnchorPoints(
2508  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const = 0;
2509 
2510  //! \brief Sets the Dtk_Annotation anchor point.
2511  //! \param inNewLocation The new location point.
2512  //! \param inLocationAnchorType The anchor type related to the new location.
2513  //! \return dtkNoError if OK
2514  virtual Dtk_ErrorStatus SetAnchorPoint(
2515  const Dtk_pnt &inNewLocation,
2516  const Dtk_anchor_type &inLocationAnchorType) = 0;
2517 
2518  //! \brief Sets the location point of the Dtk_Annotation
2519  //! \brief The location point is related to the anchor type
2520  //! \param inLocation the location point
2521  //! \return dtkNoError if OK
2522  virtual Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation) = 0;
2523 
2524 
2525  //! \brief Sets the location point of the Dtk_Annotation
2526  //! \brief The location point is related to the anchor type
2527  //! \param location the location point
2528  //! \param inAnchorType The anchor type related to the new location.
2529  //! \return dtkNoError if OK
2530  Dtk_ErrorStatus SetLocation(const Dtk_pnt& location, const Dtk_anchor_type& inAnchorType);
2531 
2532  //! \brief Sets the offset of the Dtk_Annotation
2533  //! \brief The Offset is used to process bounding frames.
2534  //! \param inOffset The offset
2535  //! \return dtkNoError if OK
2536  //! \warning For internal use only
2537  virtual Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset) = 0;
2538 
2539  //! \brief Sets the annotation angle using the annotation base.
2540  //! \param inRotationAngle The rotation angle to be set
2541  //! \return dtkNoError if OK
2542  virtual Dtk_ErrorStatus SetRotationAngle(
2543  const Dtk_Double64 &inRotationAngle);
2544 
2545  //! \Transform{inTransfo}
2547 };
2548 
2549 //! \ingroup draw
2550 //! \class Dtk_Roughness
2551 //! \brief This is the Roughness class
2552 //! \SmartPtr{Dtk_RoughnessPtr}
2553 //! \image html RoughNessDescription.png
2555 {
2556 public :
2558  //! \image html ObtentionTypeNotDefined.png
2559  ObtentionTypeNotDefined = 0,
2560  //! \image html ObtentionTypeMachiningMandatory.png
2562  //! \image html ObtentionTypeMachiningForbidden.png
2563  ObtentionTypeMachiningForbidden
2564  };
2565 
2567  //! \image html ApplyToSpecifiedSurface.png
2568  ApplyToSpecifiedSurface = 0,
2569  //! \image html ApplyToSurroundingSurfaces.png
2571  //! \image html ApplyToBasicSurface.png
2573  //! \image html ApplyToAllSurfaces.png
2574  ApplyToAllSurfaces
2575  };
2576 
2578  ModeNone = 0,
2579  //! \image html ModeMultiDirectional.png
2581  //! \image html ModeCircular.png
2583  //! \image html ModeRadial.png
2585  //! \image html ModeParticular.png
2587  //! \image html ModeWithAngles.png
2589  //! \image html ModeParallel.png
2591  //! \image html ModePerpendicular.png
2592  ModePerpendicular
2593  };
2594 protected:
2595  struct Dtk_Handle; // Not defined here
2596  Dtk_Handle *_Private; // Handle
2597  enum
2598  {
2599  _typeID = DTK_TYPE_ROUGHNESS
2600  };
2601 
2602  //! \sa Create()
2604 
2605  //! \sa Create(const Dtk_pnt &, const Dtk_Text &, const Dtk_Text &, const Dtk_Text &, const Dtk_Text &, const Dtk_Text &, const Dtk_Text &, const ObtentionTypeEnum &, const ApplyToEnum &, const Dtk_InfoPtr &, const Dtk_tab<Dtk_LeaderPtr> &, const Dtk_Double64 &, const Dtk_Double64 &,const Dtk_anchor_type &,const Dtk_justication_type &)
2607  const Dtk_pnt &inLocationPnt,
2608  Dtk_Text inTopLeftText = Dtk_Text(),
2609  Dtk_Text inMiddleLeftText = Dtk_Text(),
2610  Dtk_Text inBottomLeftText = Dtk_Text(),
2611  Dtk_Text inTopRightText = Dtk_Text(),
2612  Dtk_Text inMiddleRightText = Dtk_Text(),
2613  Dtk_Text inBottomRightText = Dtk_Text(),
2614  const ObtentionTypeEnum &inObtentionType = ObtentionTypeNotDefined,
2615  const ApplyToEnum &inApplyToType = ApplyToSpecifiedSurface,
2616  const Dtk_InfoPtr &inInfos = NULL,
2618  const Dtk_Double64 &inAngle = 0.0,
2619  const Dtk_Double64 &inOffSet = 0.0,
2620  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2621  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2622 
2623  //! \sa Create(const Dtk_pnt &,const Dtk_InfoPtr &,const Dtk_tab<Dtk_LeaderPtr> &, const Dtk_Double64 &,const Dtk_Double64 &,const Dtk_anchor_type &,const Dtk_justication_type &)
2625  const Dtk_pnt &inLocationPnt,
2626  const Dtk_InfoPtr &inInfos,
2628  const Dtk_Double64 &inAngle = 0.0,
2629  const Dtk_Double64 &inOffSet = 0.0,
2630  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2631  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2632 
2633  //! \sa Create(const Dtk_Roughness &)
2635  //! \sa Create( Dtk_Roughness &&)
2637 
2638  //! \BaseDestructor
2640 
2643 
2644  inline virtual Dtk_Object* Clone() { return new Dtk_Roughness(*this); }
2645 
2646 private:
2647  void _Init();
2648  void _Copy(const Dtk_Roughness &s);
2649  void _Reset();
2650  friend class Dtk_SmartPtr<Dtk_Roughness>;
2651  friend class Dtk_Symbol;
2652 public:
2653  //! \DtkDynamicType
2655 
2656  //! \DtkDynamicCast
2658 
2659  //! \CreateBase
2661 
2662  //! \brief Full featured constructor
2663  //! \param inLocationPnt Location point
2664  //! \param inTopLeftText Top left text
2665  //! \param inMiddleLeftText Middle left text
2666  //! \param inBottomLeftText Bottom left text
2667  //! \param inTopRightText Top right text
2668  //! \param inMiddleRightText Middle right text
2669  //! \param inBottomRightText Bottom right text
2670  //! \param inObtentionType Obtention type
2671  //! \param inApplyToType ApplyTo type
2672  //! \param inInfos Roughness infos
2673  //! \param inLeadersArray Leaders array
2674  //! \param inAngle Angle
2675  //! \param inOffSet Offset
2676  //! \param inAnchorType Roughness anchor type
2677  //! \param inJustificationType Justification type
2678  //! \return The created Dtk_RoughnessPtr
2679  static Dtk_RoughnessPtr Create(const Dtk_pnt &inLocationPnt,
2680  Dtk_Text inTopLeftText = Dtk_Text(),
2681  Dtk_Text inMiddleLeftText = Dtk_Text(),
2682  Dtk_Text inBottomLeftText = Dtk_Text(),
2683  Dtk_Text inTopRightText = Dtk_Text(),
2684  Dtk_Text inMiddleRightText = Dtk_Text(),
2685  Dtk_Text inBottomRightText = Dtk_Text(),
2686  const ObtentionTypeEnum &inObtentionType = ObtentionTypeNotDefined,
2687  const ApplyToEnum &inApplyToType = ApplyToSpecifiedSurface,
2688  const Dtk_InfoPtr &inInfos = NULL,
2690  const Dtk_Double64 &inAngle = 0.0,
2691  const Dtk_Double64 &inOffSet = 0.0,
2692  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2693  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2694 
2695  //! \brief Full featured constructor
2696  //! \param inLocationPnt Location point
2697  //! \param inInfos Roughness infos
2698  //! \param inLeadersArray Leaders array
2699  //! \param inAngle Angle
2700  //! \param inOffSet Offset
2701  //! \param inAnchorType Roughness anchor type
2702  //! \param inJustificationType Justification type
2703  //! \return The created Dtk_RoughnessPtr
2704  static Dtk_RoughnessPtr Create(const Dtk_pnt &inLocationPnt,
2705  const Dtk_InfoPtr &inInfos,
2707  const Dtk_Double64 &inAngle = 0.0, const Dtk_Double64 &inOffSet = 0.0,
2708  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2709  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2710 
2711  //! \CreateCopy{in}
2713  //! \CreateMove{in}
2715 
2716  //! \AssignmentOp{in}
2718 
2719  //! \brief Converts the rough mode into a Dtk_Text - used to Dtk_Symbol conversion -
2721 
2722  Dtk_Oriented2dBBox GetOuterBoundingBox(const Dtk_bool inIncludeSymbolGeometry) const;
2723  //! \brief Sets the top-left text
2724  //! \param inText The new text.
2725  //! \return dtkNoError if OK
2726  //! \sa GetTopLeftText
2728 
2729  //! \brief Sets the middle-left text
2730  //! \param inText The new text.
2731  //! \return dtkNoError if OK
2732  //! \sa GetMiddleLeftText
2734 
2735  //! \brief Sets the bottom-left text
2736  //! \param inText The new text.
2737  //! \return dtkNoError if OK
2738  //! \sa GetBottomLeftText
2740 
2741  //! \brief Sets the top-right text
2742  //! \param inText The new text.
2743  //! \return dtkNoError if OK
2744  //! \sa GetTopRightText
2746 
2747  //! \brief Sets the middle-right text
2748  //! \param inText The new text.
2749  //! \return dtkNoError if OK
2750  //! \sa GetMiddleRightText
2752 
2753  //! \brief Sets the bottom-right text
2754  //! \param inText The new text.
2755  //! \return dtkNoError if OK
2756  //! \sa GetBottomRightText
2758 
2759  //! \brief Sets the CutOff text
2760  //! \param inText The new CutOff text.
2761  //! \return dtkNoError if OK
2762  //! \sa GetCutOff
2764 
2765  //! \brief Sets the OtherRequirement text
2766  //! \param inText The new OtherRequirement text.
2767  //! \return dtkNoError if OK
2768  //! \sa GetOtherRequirement
2770 
2771  //! \brief Sets the rough mode.
2772  //! \param inRoughMode The new rough mode - in Text form -.
2773  //! \return dtkNoError if OK
2774  //! \sa GetRoughMode
2776 
2777  //! \brief Sets the obtention type.
2778  //! \param inObtentionType The obtention type.
2779  //! \return dtkNoError if OK
2780  //! \sa GetRoughnessType
2782 
2783  //! \brief Sets the apply-to type.
2784  //! \param inApplyTo The new apply-to type.
2785  //! \return dtkNoError if OK
2786  //! \sa GetTopLeftText
2788 
2789  //! \brief Sets text are invert.
2790  //! \param inValue DTK_TRUE all text are invert
2791  //! \sa GetInvertText
2793 
2794  //! \brief Gets the top-left text - read only -.
2795  //! \return The top-left text
2796  //! \sa SetTopLeftText
2798 
2799  //! \brief Gets the middle-left text - read only -.
2800  //! \return The middle-left text
2801  //! \sa SetMiddleLeftText
2803 
2804  //! \brief Gets the bottom-left text - read only -.
2805  //! \return The bottom-left text
2806  //! \sa SetBottomLeftText
2808 
2809  //! \brief Gets the top-right text - read only -.
2810  //! \return The top-right text
2811  //! \sa SetTopRightText
2813 
2814  //! \brief Gets the middle-right text - read only -.
2815  //! \return The middle-right text
2816  //! \sa SetMiddleRightText
2818 
2819  //! \brief Gets the bottom-right text - read only -.
2820  //! \return The bottom-right text
2821  //! \sa SetBottomRightText
2823 
2824  //! \brief Gets the CutOff text - read only -.
2825  //! \return The CutOff text
2826  //! \sa SetCutOff
2828 
2829  //! \brief Gets the OtherRequirement text - read only -.
2830  //! \return The OtherRequirement text
2831  //! \sa SetOtherRequirement
2833 
2834  //! \brief Gets the obtention type - read only -.
2835  //! \return The obtention type
2836  //! \sa SetRoughnessType
2838 
2839  //! \brief Gets the apply-to type - read only -.
2840  //! \return The apply-to type
2841  //! \sa SetRoughnessApplyTo
2843 
2844  //! \brief Gets the rough mode - read only -.
2845  //! \return The rough mode
2846  //! \sa SetRoughMode
2848 
2849  //! \brief Gets text is invert or not.
2850  //! \return DTK_TRUE if all text are invert , DTK_FALSE otherwise
2851  //! \sa SetInvertText
2853 
2854  //! \brief Processes all the Dtk_Annotation anchor points.
2855  //! \param outTabPnts The resulting anchor point array.
2856  //! \return dtkNoError if OK
2858 
2859  //! \brief Processes all the Dtk_Annotation anchor points.
2860  //! \param outTabPnts The resulting anchor point array.
2861  //! \return dtkNoError if OK
2863 
2864  //! \return The type of the entity type - DTK_TYPE_ROUGHNESS -
2866 
2867  //! \brief Sets the Dtk_Roughness anchor point.
2868  //! \param inNewLocation The new location point.
2869  //! \param inLocationAnchorType The anchor type related to the new location.
2870  //! \return dtkNoError if OK
2872  const Dtk_pnt &inNewLocation,
2873  const Dtk_anchor_type &inLocationAnchorType);
2874 
2875  //! \brief Sets the location point of the Dtk_Annotation
2876  //! \brief The location point is related to the anchor type
2877  //! \param inLocation the location point
2878  //! \return dtkNoError if OK
2880 
2881  //! \brief Sets the annotation angle using the annotation base.
2882  //! \param inRotationAngle The rotation angle to be set
2883  //! \return dtkNoError if OK
2885 
2886  //! \brief Sets the offset of the Dtk_Annotation
2887  //! \brief The Offset is used to process bounding frames.
2888  //! \param inOffset The offset
2889  //! \return dtkNoError if OK
2890  //! \warning For internal use only
2892 
2893  //! \Transform{inTransfo}
2895  //! \brief Translates the Dtk_ReferenceBlock - internal use only -.
2896  //! \param inTranslationDir the translation vector.
2897  void Translate(const Dtk_dir &inTranslationDir);
2898 
2899  //! \brief Process the Roughness Symbol Informations as shown in the picture below.
2900  //! \image html RoughNessSymbolInfos.png
2901  //! \param outPnts The reference points processed.
2902  //! \param outCircleRadius The circle radius processed.
2903  void ProcessSymbolInfos(Dtk_tab< Dtk_pnt >& outPnts, Dtk_Double64& outCircleRadius) const;
2904 
2905  //! \brief set the color of the Symbol
2906  //! \param inColor : the color of the symbol.
2907  void SetSymbolColor(Dtk_Int32 inColorId) const;
2908 
2909  //! \brief get the color of the Symbol
2910  //! \param outColor : the color of the symbol.
2911  void GetSymbolColor(Dtk_Int32& outColorId) const;
2912 
2913 
2914  //! \brief Add Geometries associated to whole Dtk_Roughness.
2915  //! \remark Used to Dtk_Symbol convertion.
2916  //! \param inAssociatedGeometries The Geometries associated to the Dtk_Roughness.
2917  void AddAssociatedGeometries( Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries );
2918 
2919  //! \brief Retrieves the Dtk_Roughness geometries.
2920  //! \return All the associated geometries asked.
2922 };
2923 
2924 //! \ingroup draw
2925 //! \class Dtk_Welding
2926 //! \brief This is the Welding Symbol class
2927 //! \SmartPtr{Dtk_WeldingPtr}
2928 //! \n
2929 //! \image html WeldSymbolDescription.png
2930 //! \n\n
2932 {
2933 public :
2935  SymbolNone = 0,
2936  //! \image html SymbolSquareButtWeld.png
2938  //! \image html SymbolSingeVButtWeld.png
2940  //! \image html SymbolSingleBevelButtWeld.png
2942  //! \image html SymbolFlareVButtWeld.png
2944  //! \image html SymbolFlareBevelButtWeld.png
2946  //! \image html SymbolSingleUButtWeld.png
2948  //! \image html SymbolSingleJButtWeld.png
2950  //! \image html SymbolFilletWeld.png
2952  //! \image html SymbolSpotWeld.png
2954  //! \image html SymbolBackWeld.png
2956  //! \image html SymbolSteepFlankedSingleBevelButtWeld.png
2958  //! \image html SymbolSteepFlankedSingleVWeld.png
2960  //! \image html SymbolPlugWeld.png
2962  //! \image html SymbolRemovableBackingStripUsed.png
2964  //! \image html SymbolPermanentBackingStripUsed.png
2966  //! \image html SymbolSurfacingWeld.png
2968  //! \image html SymbolSeamWeld.png
2970  //! \image html SymbolFlangeEdge.png
2972  //! \image html SymbolStickWeld.png
2974  //! \image html SymbolFlangeCorner.png
2976  //! \image html SymbolVFlareWeld.png
2978  //! \image html SymbolFlareBevelWeld.png
2980  //! \image html SymbolScarfWeld.png
2982  //! \image html SymbolStudWeld.png
2984  //! \image html SymbolANSIEdgeWeld.png
2986  //! \image html SymbolISOEdgeWeld.png
2988  //! \image html SymbolSurfaceJointWeld.png
2990  //! \image html SymbolInclinedJointWeld.png
2992  //! \image html SymbolMeltThroughWeld.png
2994  //! \image html SymbolSolderedJointWeld.png
2996  //! \image html SymbolFoldJointWeld.png
2998  //! \image html SymbolKGrooveWeld.png
3000  //! \image html SymbolStakeWeld.png
3001  SymbolStakeWeld
3002  };
3004  {
3005  switch( inEnum )
3006  {
3007  case SymbolNone : return L"SymbolNone";
3008  case SymbolSquareButtWeld : return L"SymbolSquareButtWeld";
3009  case SymbolSingeVButtWeld : return L"SymbolSingeVButtWeld";
3010  case SymbolSingleBevelButtWeld : return L"SymbolSingleBevelButtWeld";
3011  case SymbolFlareVButtWeld : return L"SymbolFlareVButtWeld";
3012  case SymbolFlareBevelButtWeld : return L"SymbolFlareBevelButtWeld";
3013  case SymbolSingleUButtWeld : return L"SymbolSingleUButtWeld";
3014  case SymbolSingleJButtWeld : return L"SymbolSingleJButtWeld";
3015  case SymbolFilletWeld : return L"SymbolFilletWeld";
3016  case SymbolSpotWeld : return L"SymbolSpotWeld";
3017  case SymbolBackWeld : return L"SymbolBackWeld";
3018  case SymbolSteepFlankedSingleBevelButtWeld : return L"SymbolSteepFlankedSingleBevelButtWeld";
3019  case SymbolSteepFlankedSingleVWeld : return L"SymbolSteepFlankedSingleVWeld";
3020  case SymbolPlugWeld : return L"SymbolPlugWeld";
3021  case SymbolRemovableBackingStripUsed : return L"SymbolRemovableBackingStripUsed";
3022  case SymbolPermanentBackingStripUsed : return L"SymbolPermanentBackingStripUsed";
3023  case SymbolSurfacingWeld : return L"SymbolSurfacingWeld";
3024  case SymbolSeamWeld : return L"SymbolSeamWeld";
3025  case SymbolFlangeEdge : return L"SymbolFlangeEdge";
3026  case SymbolStickWeld : return L"SymbolStickWeld";
3027  case SymbolFlangeCorner : return L"SymbolFlangeCorner";
3028  case SymbolVFlareWeld : return L"SymbolVFlareWeld";
3029  case SymbolFlareBevelWeld : return L"SymbolFlareBevelWeld";
3030  case SymbolScarfWeld : return L"SymbolScarfWeld";
3031  case SymbolStudWeld : return L"SymbolStudWeld";
3032  case SymbolANSIEdgeWeld : return L"SymbolANSIEdgeWeld";
3033  case SymbolISOEdgeWeld : return L"SymbolISOEdgeWeld";
3034  case SymbolSurfaceJointWeld : return L"SymbolSurfaceJointWeld";
3035  case SymbolInclinedJointWeld : return L"SymbolInclinedJointWeld";
3036  case SymbolMeltThroughWeld: return L"SymbolMeltThroughWeld";
3037  case SymbolSolderedJointWeld: return L"SymbolSolderedJointWeld";
3038  case SymbolFoldJointWeld: return L"SymbolFoldJointWeld";
3039  case SymbolKGrooveWeld: return L"SymbolKGrooveWeld";
3040  case SymbolStakeWeld: return L"SymbolFoldJointWeldSymbolStakeWeld";
3041  default : return L"Unknown";
3042  }
3043  }
3044 
3046  ComplementarySymbolNone = 0,
3047  //! \image html ComplementarySymbolWeldWithFlatFace.png
3049  //! \image html ComplementarySymbolWeldWithConvexFace.png
3051  //! \image html ComplementarySymbolWeldWithConcaveFace.png
3053  //! \image html ComplementarySymbolFlushFinishedWeld.png
3055  //! \image html ComplementarySymbolFilletWeldWithSmoothBlendedFace.png
3056  ComplementarySymbolFilletWeldWithSmoothBlendedFace
3057  };
3058 
3060  {
3061  WeldTextUndefinedType = 0,
3072  WeldTextWeldSymbol
3073  };
3074 
3076  {
3077  switch( inEnum )
3078  {
3079  case ComplementarySymbolNone : return L"ComplementarySymbolNone";
3080  case ComplementarySymbolWeldWithFlatFace : return L"ComplementarySymbolWeldWithFlatFace";
3081  case ComplementarySymbolWeldWithConvexFace : return L"ComplementarySymbolWeldWithConvexFace";
3082  case ComplementarySymbolWeldWithConcaveFace : return L"ComplementarySymbolWeldWithConcaveFace";
3083  case ComplementarySymbolFlushFinishedWeld : return L"ComplementarySymbolFlushFinishedWeld";
3084  case ComplementarySymbolFilletWeldWithSmoothBlendedFace : return L"ComplementarySymbolFilletWeldWithSmoothBlendedFace";
3085  default : return L"Unknown";
3086  }
3087  }
3088 
3090  FinishSymbolNone = 0,
3091  //! \image html WeldFinishSymbolChip.png
3093  //! \image html WeldFinishSymbolFlush.png
3095  //! \image html WeldFinishSymbolGrind.png
3097  //! \image html WeldFinishSymbolHammer.png
3099  //! \image html WeldFinishSymbolMachine.png
3101  //! \image html WeldFinishSymbolRoll.png
3103  //! \image html WeldFinishSymbolPeening.png
3105  //! \image html WeldFinishSymbolUnspecified.png
3106  FinishSymbolUnspecified
3107  };
3109  {
3110  switch( inEnum )
3111  {
3112  case FinishSymbolNone : return L"FinishSymbolNone";
3113  case FinishSymbolChip : return L"FinishSymbolChip";
3114  case FinishSymbolFlush : return L"FinishSymbolFlush";
3115  case FinishSymbolGrind : return L"FinishSymbolGrind";
3116  case FinishSymbolHammer : return L"FinishSymbolHammer";
3117  case FinishSymbolMachine : return L"FinishSymbolMachine";
3118  case FinishSymbolRoll : return L"FinishSymbolRoll";
3119  case FinishSymbolPeening : return L"FinishSymbolPeening";
3120  case FinishSymbolUnspecified : return L"FinishSymbolUnspecified";
3121  default : return L"Unknown";
3122  }
3123  }
3124 
3125 protected:
3126  // Weld Symbol Terminology :
3127  //
3128  // OTHER SIDE
3129  // ------------
3130  // ARROW SIDE \
3131  // _\|
3132  //
3133  struct Dtk_Handle; // Not defined here
3134  Dtk_Handle *_Private; // Handle
3135  enum { _typeID = DTK_TYPE_WELDING };
3136 
3137  //! \sa Create()
3139 
3140  //! \sa Create(const Dtk_pnt&, const Dtk_CompositeText&, const Dtk_bool, const Dtk_Char8, const Dtk_bool, const Dtk_bool, const Dtk_InfoPtr&, const Dtk_tab<Dtk_LeaderPtr>&, const Dtk_Double64, const Dtk_Double64, const Dtk_anchor_type, const Dtk_justication_type)
3141  Dtk_Welding(const Dtk_pnt &inLocation,
3142  Dtk_CompositeText inMiddleRightText,
3143  const Dtk_bool inFieldWeldActivated,
3144  const Dtk_Char8 inIndentLineFlag,
3145  const Dtk_bool inTailActivated,
3146  const Dtk_bool inReverseTailAndField,
3147  const Dtk_InfoPtr &inInfos,
3148  Dtk_tab<Dtk_LeaderPtr> inLeaders,
3149  const Dtk_Double64 inAngle,
3150  const Dtk_Double64 inOffset,
3151  const Dtk_anchor_type inAnchorType,
3152  const Dtk_justication_type inJustification);
3153 
3154  //! \sa Create(const Dtk_pnt&, const Dtk_InfoPtr&, const Dtk_tab<Dtk_LeaderPtr>&, const Dtk_Double64, const Dtk_Double64, const Dtk_anchor_type, const Dtk_justication_type)
3155  Dtk_Welding(const Dtk_pnt &inLocation,
3156  const Dtk_InfoPtr &inInfos,
3158  const Dtk_Double64 inAngle = 0.0,
3159  const Dtk_Double64 inOffset = 0.0,
3160  const Dtk_anchor_type inAnchor_type = DTK_ANCHOR_BOTTOM_LEFT,
3161  const Dtk_justication_type inJustification = DTK_JUSTIFY_LEFT);
3162 
3163  //! \sa Create(const Dtk_Welding &)
3165  //! \sa Create( Dtk_Welding &&)
3167 
3168  //! \BaseDestructor
3170  inline virtual Dtk_Object* Clone() { return new Dtk_Welding(*this); }
3171 private:
3172  void _Init();
3173  void _Copy(const Dtk_Welding& s);
3174  void _Reset();
3175  friend class Dtk_SmartPtr<Dtk_Welding>;
3176  friend class Dtk_Symbol;
3177 public:
3178  //! \DtkDynamicType
3180 
3181  //! \DtkDynamicCast
3183 public:
3184  //! \CreateBase
3186 
3187  //! \brief Calls full featured constructor to allocate a new object.
3188  //! \param inLocationPnt The Dtk_Welding location
3189  //! \param inTailText Tail Dtk_CompositeText.
3190  //! \param inFieldWeldActivated DTK_TRUE if Field is activated. DTK_FALSE else.
3191  //! \param inIndentLineFlag The IndentLineSideDown Flag:\n
3192  //! - -1 To disable Indent Line - default -.\n
3193  //! - 0 To set Indent Line to OtherSide - Up -.\n
3194  //! - 1 To set Indent Line to ArrowSide - Down -.
3195  //! \param inTailActivated The Tail Flag Activation status. DTK_TRUE if activated DTK_FALSE else.
3196  //! \param inReverseTailAndField The Tail/Field Reverse Flag:\n
3197  //! - If DTK_TRUE the Field is at the left of the Dtk_Welding and the Tail is at Right.
3198  //! - If DTK_FALSE the Field and Tail are reversed - Field => Right and Tail => Left -.
3199  //! \param inInfos Dtk_Welding infos
3200  //! \param inLeaders Leaders array.
3201  //! \param inAngle Angle.
3202  //! \param inOffSet Offset.
3203  //! \param inAnchorType Dtk_Welding anchor type.
3204  //! \param inJustificationType Justification type.
3205  //! \return The created Dtk_WeldingPtr
3206  static Dtk_WeldingPtr Create(const Dtk_pnt &inLocation,
3207  Dtk_CompositeText inTailText,
3208  const Dtk_bool inFieldWeldActivated,
3209  const Dtk_Char8 inIndentLineFlag,
3210  const Dtk_bool inTailActivated,
3211  const Dtk_bool inReverseTailAndField,
3212  const Dtk_InfoPtr &inInfos,
3213  Dtk_tab<Dtk_LeaderPtr> inLeaders,
3214  const Dtk_Double64 inAngle,
3215  const Dtk_Double64 inOffset,
3216  const Dtk_anchor_type inAnchorType,
3217  const Dtk_justication_type inJustification);
3218 
3219  //! \brief Calls full featured constructor to allocate a new object.
3220  //! \param inLocationPnt The Dtk_Welding location
3221  //! \param inInfos Dtk_Welding infos
3222  //! \param inLeaders Leaders array.
3223  //! \param inAngle Angle.
3224  //! \param inOffSet Offset.
3225  //! \param inAnchorType Dtk_Welding anchor type.
3226  //! \param inJustificationType Justification type.
3227  //! \return The created Dtk_WeldingPtr
3228  static Dtk_WeldingPtr Create(const Dtk_pnt &inLocation,
3229  const Dtk_InfoPtr &inInfos,
3231  const Dtk_Double64 inAngle = 0.0,
3232  const Dtk_Double64 inOffset = 0.0,
3233  const Dtk_anchor_type inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
3234  const Dtk_justication_type inJustification = DTK_JUSTIFY_LEFT);
3235 
3236  //! \CreateCopy{in}
3237  static Dtk_WeldingPtr Create(const Dtk_Welding &in);
3238  //! \CreateMove{in}
3240 
3241  //! \AssignmentOp{in}
3243 
3244  //Dtk_Annotation interface
3246  Dtk_pnt (&inTabPoints)[DTK_NB_ANCHOR_TYPES]) const;
3248  Dtk_pnt (&inTabPoints)[DTK_NB_ANCHOR_TYPES]);
3249 
3250  //! \return The type of the entity type - DTK_TYPE_WELDING -
3252 
3253  //! \brief Add Geometries associated to whole Dtk_Welding (Weld body and tail).
3254  //! \remark Used to Dtk_symbol convertion.
3255  //! \param inAssociatedGeometries The Geometries associated to the Dtk_Welding.
3256  void AddAssociatedGeometries( Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries);
3257 
3258  //! \brief Add a Geometry associated to whole Dtk_Welding (Weld body and tail).
3259  //! \remark Used to Dtk_symbol convertion.
3260  //! \param inAssociatedGeometry The Geometry associated to the Dtk_Welding.
3261  void AddAssociatedGeometry( Dtk_EntityPtr inAssociatedGeometry );
3262 
3263  //! \brief Set the Dtk_Welding OtherSide Texts and their types.
3264  //! \param inTexts Map of texts with their corresponding WeldTextType
3265  void SetOtherSideTexts( std::unordered_map <Dtk_UInt8, Dtk_CompositeText>& inTexts );
3266 
3267  //! \brief Add a Text and its type to the OtherSide
3268  //! \param inType The WeldTextType
3269  //! \param inTexts The text
3271 
3272  //! \brief Add an undefined Text to the OtherSide
3273  //! \param inTexts The text
3275 
3276  //! \brief Set the Dtk_Welding ArrowSide Texts and their types.
3277  //! \param inTexts Map of texts with their corresponding WeldTextType
3278  void SetArrowSideTexts( std::unordered_map <Dtk_UInt8, Dtk_CompositeText>& inTexts );
3279 
3280  //! \brief Add a Text and its type to the ArrowSide
3281  //! \param inType The WeldTextType
3282  //! \param inTexts The text
3284 
3285  //! \brief Add an undefined Text to the ArrowSide
3286  //! \param inTexts The text
3288 
3289  //! \brief Set the WeldingSymbol of the ArrowSide
3290  //! \param inWeldingSymbol The Welding Symbol.
3292 
3293  //! \brief Set the ContourSymbol of the ArrowSide
3294  //! \param inContourSymbol The Contour Symbol.
3296 
3297  //! \brief Set the AssociatedGeometries of the ArrowSide
3298  //! \param inAssociatedGeometries The Geometries associated to the ArrowSide.
3300 
3301  //! \brief Add an AssociatedGeometry of the ArrowSide
3302  //! \param inAssociatedGeometry The Geometry associated to the ArrowSide.
3303  void AddArrowSideAssociatedGeometry( Dtk_EntityPtr inAssociatedGeometry );
3304 
3305  //! \brief Set the WeldingSymbol of the OtherSide
3306  //! \param inWeldingSymbol The Welding Symbol.
3308 
3309  //! \brief Set the ContourSymbol of the OtherSide
3310  //! \param inContourSymbol The Contour Symbol.
3312 
3313  //! \brief Set the AssociatedGeometries of the OtherSide
3314  //! \param inAssociatedGeometries The Geometries associated to the OtherSide.
3316 
3317  //! \brief Add an AssociatedGeometry of the OtherSide
3318  //! \param inAssociatedGeometry The Geometry associated to the OtherSide.
3319  void AddOtherSideAssociatedGeometry( Dtk_EntityPtr inAssociatedGeometry );
3320 
3321  //! \brief Return all the texts of the ArrowSide
3322  //! \return A map with WeldTextType keys and Dtk_CompositeText
3323  std::unordered_map <Dtk_UInt8, Dtk_CompositeText> GetArrowSideAllTexts() const;
3324 
3325  //! \brief Return all the texts of the OtherSide
3326  //! \return A map with WeldTextType keys and Dtk_CompositeText
3327  std::unordered_map <Dtk_UInt8, Dtk_CompositeText> GetOtherSideAllTexts() const;
3328 
3329  //! \brief Sets the Dtk_Welding OtherSide Data.
3330  //! \param inWeldingSymbol The Welding Symbol.
3331  //! \param inNumWeldsText The NumWelds Dtk_Text.
3332  //! \param inAngleText The Angle Dtk_Text.
3333  //! \param inContourSymbol The Contour Symbol.
3334  //! \param inFinishSymbolText The Finish Symbol Dtk_Text.
3335  //! \param inSizeText The Size Dtk_Text.
3336  //! \param inLengthText The Length Dtk_Text.
3337  //! \param inAssociatedGeometries The Geometries associated to the OtherSide - used to Dtk_Symbol convertion -.
3339  const WeldingSymbolEnum inWeldingSymbol,
3340  Dtk_Text inNumWeldsText,
3341  Dtk_Text inAngleText,
3342  const ComplementarySymbolEnum inContourSymbol,
3343  Dtk_Text inFinishSymbolText,
3344  Dtk_Text inSizeText,
3345  Dtk_Text inLengthText,
3346  Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries);
3347 
3348  //! \brief Sets the Dtk_Welding ArrowSide Data.
3349  //! \param inWeldingSymbol The Welding Symbol.
3350  //! \param inNumWeldsText The NumWelds Dtk_Text.
3351  //! \param inAngleText The Angle Dtk_Text.
3352  //! \param inContourSymbol The Contour Symbol.
3353  //! \param inFinishSymbolText The Finish Symbol Dtk_Text.
3354  //! \param inSizeText The Size Dtk_Text.
3355  //! \param inLengthText The Length Dtk_Text.
3356  //! \param inAssociatedGeometries The Geometries associated to the ArrowSide - used to Dtk_Symbol convertion -.
3358  const WeldingSymbolEnum inWeldingSymbol,
3359  Dtk_Text inNumWeldsText,
3360  Dtk_Text inAngleText,
3361  const ComplementarySymbolEnum inContourSymbol,
3362  Dtk_Text inFinishSymbolText,
3363  Dtk_Text inSizeText,
3364  Dtk_Text inLengthText,
3365  Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries);
3366 
3367  //! \brief Sets the Tail Dtk_CompositeText.
3368  //! \param inTailText The Tail Dtk_CompositeText.
3369  void SetTailText( Dtk_CompositeText inTailText);
3370 
3371  //! \brief Sets the ArrowSideSizeText Dtk_CompositeText.
3372  //! \param inArrowSideSizeText The Tail Dtk_CompositeText.
3373  void SetArrowSideSizeText( Dtk_CompositeText inArrowSideSizeText);
3374 
3375  //! \brief Sets the OtherSideSizeText Dtk_CompositeText.
3376  //! \param inOtherSideSizeText The Tail Dtk_CompositeText.
3377  void SetOtherSideSizeText( Dtk_CompositeText inOtherSideSizeText);
3378 
3379  //! \brief Sets the Field Weld Flag.
3380  //! \param inFieldWeldFlag The Field Weld Flag. DTK_TRUE if Field Weld is activated. DTK_TRUE else.
3381  void SetFieldWeldFlag(const Dtk_bool inFieldWeldFlag);
3382 
3383  //! \brief Sets the IndentLine Flag.
3384  //! \param inIndentLineFlag The IndentLine Flag:\n
3385  //! - -1 To disable Indent Line - default -.\n
3386  //! - 0 To set Indent Line to OtherSide - Up -.\n
3387  //! - 1 To set Indent Line to ArrowSide - Down -.
3388  void SetIndentLineFlag(const Dtk_Char8 inIndentLineFlag = -1);
3389 
3390  //! \brief Sets the Tail Activation Flag.
3391  //! \param inTailActivated The Tail Flag. If DTK_FALSE - default value - the Tail is not activated. Else it's activated.
3392  void SetWeldTailActivated(const Dtk_bool inTailActivated = DTK_FALSE);
3393 
3394  //! \brief Sets the Field/Tail Reverse Flag.
3395  //! \param inReverseTailAndField The Tail/Field Reverse Flag:\n
3396  //! - If DTK_TRUE the Field is at the left of the Dtk_Welding and the Tail is at Right - default value -.
3397  //! - If DTK_FALSE the Field and Tail are reversed - Field => Right and Tail => Left -.
3398  void SetReverseTailAndFieldFlag(const Dtk_bool inReverseTailAndField = DTK_TRUE);
3399 
3400  //! \brief Tells if the Field Weld Symbol is activated.
3401  //! \return DTK_TRUE if Field Weld Symbol is activated. DTK_FALSE else.
3403 
3404  //! \brief Retrieves the IndentLine Flag.
3405  //! \return -1 if no Indent Line.
3406  //! \return 0 if Indent Line set at the OtherSide - Up -.
3407  //! \return 1 if Indent Line set at the ArrowSide - Down -.
3409 
3410  //! \brief Tells if the Weld Tail is activated.
3411  //! \return DTK_FALSE if no Tail.
3412  //! \return DTK_TRUE if Tail is activated.
3414 
3415  //! \brief Tells if the Field/Tail are reversed.
3416  //! \return DTK_FALSE if Field/Tail not reversed - Filed to the Left and Tail to the Right -.
3417  //! \return DTK_TRUE if Field/Tail reversed.
3419 
3420  //ArrowSide - BottomLine - Accessors
3421 
3422  //! \brief Retrieves the ArrowSide Finish Symbol Dtk_Text.
3423  //! \return The ArrowSide Finish Symbol Dtk_Text.
3425 
3426  //! \brief Retrieves the ArrowSide Angle Dtk_Text.
3427  //! \return The ArrowSide Angle Dtk_Text.
3429 
3430  //! \brief Retrieves the ArrowSide NumWelds Dtk_Text.
3431  //! \return The ArrowSide NumWelds Dtk_Text.
3433 
3434  //! \brief Retrieves the ArrowSide Size Dtk_Text.
3435  //! \return The ArrowSide Size Dtk_Text.
3437 
3438  //! \brief Retrieves the ArrowSide Length Dtk_Text.
3439  //! \return The ArrowSide Length Dtk_Text.
3441 
3442  //! \brief Retrieves the ArrowSide WeldingSymboEnum.
3443  //! \return The ArrowSide WeldingSymboEnum.
3445 
3446  //! \brief Retrieves the ArrowSide WeldingSymboEnum.
3447  //! \return The ArrowSide WeldingSymboEnum.
3449 
3450  //! \brief Retrieves the ArrowSide FinishSymbol as FinishSymbolEnum.
3451  //! \return The ArrowSide FinishSymbol as FinishSymbolEnum.
3453 
3454  //! \sa GetFinishSymbolTextArrowSide() const
3456 
3457  //OtherSide - _TopLine - Accessors
3458  //! \brief Retrieves the OtherSide Finish Symbol Dtk_Text.
3459  //! \return The OtherSide Finish Symbol Dtk_Text.
3461 
3462  //! \brief Retrieves the OtherSide Angle Dtk_Text.
3463  //! \return The OtherSide Angle Dtk_Text.
3465 
3466  //! \brief Retrieves the OtherSide NumWelds Dtk_Text.
3467  //! \return The OtherSide NumWelds Dtk_Text.
3469 
3470  //! \brief Retrieves the OtherSide Size Dtk_Text.
3471  //! \return The OtherSide Size Dtk_Text.
3473 
3474  //! \brief Retrieves the OtherSide Length Dtk_Text.
3475  //! \return The OtherSide Length Dtk_Text.
3477 
3478  //! \brief Retrieves the OtherSide WeldingSymboEnum.
3479  //! \return The OtherSide WeldingSymboEnum.
3481 
3482  //! \brief Retrieves the OtherSide WeldingSymboEnum.
3483  //! \return The OtherSide WeldingSymboEnum.
3485 
3486  //! \brief Retrieves the OtherSide FinishSymbol as FinishSymbolEnum.
3487  //! \return The OtherSide FinishSymbol as FinishSymbolEnum.
3489 
3490  //! \sa GetFinishSymbolTextOtherSide() const
3492 
3493  //! \brief Tells if the Brazing is activated for the OtherSide
3494  //! \return DTK_TRUE if the Brazing is activated, and the corresponding geometry should be in the _AssociatedGeometries, DTK_FALSE otherwise
3496 
3497  //! \brief Sets the Brazing flag for the OtherSide.
3498  //! \param inBrazing The Brazing Flag.
3499  void SetBrazingOtherSide( const Dtk_bool inBrazing = DTK_TRUE );
3500 
3501  //! \brief Tells if the Brazing is activated for the ArrowSide
3502  //! \return DTK_TRUE if the Brazing is activated, and the corresponding geometry should be in the _AssociatedGeometries, DTK_FALSE otherwise
3504 
3505  //! \brief Sets the Brazing flag for the ArrowSide.
3506  //! \param inBrazing The Brazing Flag.
3507  void SetBrazingArrowSide( const Dtk_bool inBrazing = DTK_TRUE );
3508 
3509  //! \brief Retrieves the Tail Dtk_CompositeText.
3510  //! \return The Tail Dtk_CompositeText.
3512 
3513  //! \brief Retrieves the OtherSideSizeText Dtk_CompositeText.
3514  //! \return The OtherSideSizeText Dtk_CompositeText.
3516 
3517  //! \brief Retrieves the ArrowSideSizeText Dtk_CompositeText.
3518  //! \return The ArrowSideSizeText Dtk_CompositeText.
3520 
3521  //! \brief Retrieves the Dtk_Welding geometries.
3522  //! \param inIncludeWeldBodyGeometries If DTK_TRUE includes WeldBody geometries - DTK_TRUE by default -.
3523  //! \param inIncludeOtherSideGeometries If DTK_TRUE includes OtherSide geometries - DTK_TRUE by default -.
3524  //! \param inIncludeArrowSideGeometries If DTK_TRUE includes ArrowSide geometries - DTK_TRUE by default -.
3525  //! \return All the associated geometries asked.
3527  const Dtk_bool inIncludeWeldBodyGeometries = DTK_TRUE,
3528  const Dtk_bool inIncludeOtherSideGeometries = DTK_TRUE,
3529  const Dtk_bool inIncludeArrowSideGeometries = DTK_TRUE) const;
3530 
3531  //! \brief Sets the Dtk_Welding anchor point.
3532  //! \param inNewLocation The new location point.
3533  //! \param inLocationAnchorType The anchor type related to the new location.
3534  //! \return dtkNoError if OK
3536  const Dtk_anchor_type &inLocationAnchorType);
3537 
3538  //! \brief Sets the location point of the Dtk_Annotation
3539  //! \brief The location point is related to the anchor type
3540  //! \param inLocation the location point
3541  //! \return dtkNoError if OK
3543 
3544  //! \brief Sets the annotation angle using the annotation base.
3545  //! \param inRotationAngle The rotation angle to be set
3546  //! \return dtkNoError if OK
3548 
3549  //! \brief Sets the offset of the Dtk_Welding
3550  //! \brief The Offset is used to process bounding frames.
3551  //! \param inOffset The offset
3552  //! \return dtkNoError if OK
3553  //! \warning For internal use only
3555 
3556  //! \brief Convert FinishSymbolEnum to Dtk_Char8.
3557  //! \param inFinishSymbol FinishSymbolEnum to be converted.
3558  //! \return Dtk_Char8 related to inFinishSymbol value.
3559  Dtk_Char8 FinishSymbolToDtk_Text( const FinishSymbolEnum inFinishSymbol) const;
3560 
3561  //! \Transform{inTransfo}
3563 
3564  //! \brief Process the Welding Symbol Informations as shown in the picture below.
3565  //! \image html WeldingSymbolInfos.png
3566  //! \param outPnts The reference points processed.
3567  //! \remark The 1st point is the Field point.
3568  //! \remark The 2nd point is the Tail point.
3570 
3571  //! \brief Process the Welding Symbol Informations.
3572  //! \param inPnts The reference points.
3573  //! \remark The 1st point is the Field point.
3574  //! \remark The 2nd point is the Tail point.
3576 
3577  ///////////////////////Arrow Side New Texts
3578 
3579  //! \brief Sets the ArrowSideDepthText Dtk_CompositeText.
3580  //! \param inArrowSideDepthText The Tail Dtk_CompositeText.
3581  void SetArrowSideDepthText( Dtk_CompositeText inArrowSideDepthText );
3582 
3583  //! \brief Retrieves the ArrowSideDepthText Dtk_CompositeText.
3584  //! \return The ArrowSideDepthText Dtk_CompositeText.
3586 
3587  //! \brief Sets the ArrowSideClearanceText Dtk_CompositeText.
3588  //! \param inArrowSideClearanceText The Tail Dtk_CompositeText.
3589  void SetArrowSideClearanceText( Dtk_CompositeText inArrowSideClearanceText );
3590 
3591  //! \brief Retrieves the ArrowSideClearanceText Dtk_CompositeText.
3592  //! \return The ArrowSideClearanceText Dtk_CompositeText.
3594 
3595  //! \brief Sets the ArrowSideSecondFilletSizeText Dtk_CompositeText.
3596  //! \param inArrowSideSecondFilletSizeText The Tail Dtk_CompositeText.
3597  void SetArrowSideSecondFilletSizeText( Dtk_CompositeText inArrowSideSecondFilletSizeText );
3598 
3599  //! \brief Retrieves the ArrowSideSecondFilletSizeText Dtk_CompositeText.
3600  //! \return The ArrowSideSecondFilletSizeText Dtk_CompositeText.
3602 
3603  //! \brief Sets the ArrowSideSecondFilletLengthText Dtk_CompositeText.
3604  //! \param inArrowSideSecondFilletLengthText The Tail Dtk_CompositeText.
3605  void SetArrowSideSecondFilletLengthText( Dtk_CompositeText inArrowSideSecondFilletLengthText );
3606 
3607  //! \brief Retrieves the ArrowSideSecondFilletLengthText Dtk_CompositeText.
3608  //! \return The ArrowSideSecondFilletLengthText Dtk_CompositeText.
3610 
3611  //! \brief Sets the ArrowSideOpeningText Dtk_CompositeText.
3612  //! \param inArrowSideOpeningText The Tail Dtk_CompositeText.
3613  void SetArrowSideOpeningText( Dtk_CompositeText inArrowSideOpeningText );
3614 
3615  //! \brief Retrieves the ArrowSideOpeningText Dtk_CompositeText.
3616  //! \return The ArrowSideOpeningText Dtk_CompositeText.
3618 
3619  //! \brief Sets the ArrowSideWeldSymbolText Dtk_CompositeText.
3620  //! \param inArrowSideWeldSymbolText The Tail Dtk_CompositeText.
3621  void SetArrowSideWeldSymbolText( Dtk_CompositeText inArrowSideWeldSymbolText );
3622 
3623  //! \brief Retrieves the ArrowSideWeldSymbolText Dtk_CompositeText.
3624  //! \return The ArrowSideWeldSymbolText Dtk_CompositeText.
3626 
3627  //! \brief Retrieves the ArrowSideUndefinedText Dtk_CompositeText.
3628  //! \return The ArrowSideUndefinedText Dtk_CompositeText.
3630 
3631  ///////////////////////Other Side New Texts
3632 
3633  //! \brief Sets the OtherSideDepthText Dtk_CompositeText.
3634  //! \param inOtherSideDepthText The Tail Dtk_CompositeText.
3635  void SetOtherSideDepthText( Dtk_CompositeText inOtherSideDepthText );
3636 
3637  //! \brief Retrieves the OtherSideDepthText Dtk_CompositeText.
3638  //! \return The OtherSideDepthText Dtk_CompositeText.
3640 
3641  //! \brief Sets the OtherSideClearanceText Dtk_CompositeText.
3642  //! \param inOtherSideClearanceText The Tail Dtk_CompositeText.
3643  void SetOtherSideClearanceText( Dtk_CompositeText inOtherSideClearanceText );
3644 
3645  //! \brief Retrieves the OtherSideClearanceText Dtk_CompositeText.
3646  //! \return The OtherSideClearanceText Dtk_CompositeText.
3648 
3649  //! \brief Sets the OtherSideSecondFilletSizeText Dtk_CompositeText.
3650  //! \param inOtherSideSecondFilletSizeText The Tail Dtk_CompositeText.
3651  void SetOtherSideSecondFilletSizeText( Dtk_CompositeText inOtherSideSecondFilletSizeText );
3652 
3653  //! \brief Retrieves the OtherSideSecondFilletSizeText Dtk_CompositeText.
3654  //! \return The OtherSideSecondFilletSizeText Dtk_CompositeText.
3656 
3657  //! \brief Sets the OtherSideSecondFilletLengthText Dtk_CompositeText.
3658  //! \param inOtherSideSecondFilletLengthText The Tail Dtk_CompositeText.
3659  void SetOtherSideSecondFilletLengthText( Dtk_CompositeText inOtherSideSecondFilletLengthText );
3660 
3661  //! \brief Retrieves the OtherSideSecondFilletLengthText Dtk_CompositeText.
3662  //! \return The OtherSideSecondFilletLengthText Dtk_CompositeText.
3664 
3665  //! \brief Sets the OtherSideOpeningText Dtk_CompositeText.
3666  //! \param inOtherSideOpeningText The Tail Dtk_CompositeText.
3667  void SetOtherSideOpeningText( Dtk_CompositeText inOtherSideOpeningText );
3668 
3669  //! \brief Retrieves the OtherSideOpeningText Dtk_CompositeText.
3670  //! \return The OtherSideOpeningText Dtk_CompositeText.
3672 
3673  //! \brief Sets the OtherSideWeldSymbolText Dtk_CompositeText.
3674  //! \param inOtherSideWeldSymbolText The Tail Dtk_CompositeText.
3675  void SetOtherSideWeldSymbolText( Dtk_CompositeText inOtherSideWeldSymbolText );
3676 
3677  //! \brief Retrieves the OtherSideWeldSymbolText Dtk_CompositeText.
3678  //! \return The OtherSideWeldSymbolText Dtk_CompositeText.
3680 
3681  //! \brief Retrieves the OtherSideUndefinedText Dtk_CompositeText.
3682  //! \return The OtherSideUndefinedText Dtk_CompositeText.
3684 };
3685 
3686 //! \ingroup draw
3687 //! \class Dtk_DatumTarget
3688 //! \image html DatumTarget1.png
3689 //! \image html DatumTarget2.png
3690 //! \brief This is the Datum Target
3691 //! \SmartPtr{Dtk_DatumTargetPtr}
3693 {
3694 public:
3696  {
3697  Unknown = 0,
3698  Point = 1,
3699  Linear = 2,
3700  Rectangular = 3,
3701  Circular = 4,
3702  Annular = 5,
3703  Spherical = 6,
3704  Cylindrical = 7,
3705  Arbitrary = 8,
3706 
3707  NumTypes
3708 
3709  };
3711  {
3712  switch( inEnum )
3713  {
3714  default:
3715  case Unknown: return L"Unknown";
3716  case Point: return L"Point";
3717  case Linear: return L"Linear";
3718  case Rectangular: return L"Rectangular";
3719  case Circular: return L"Circular";
3720  case Annular: return L"Annular";
3721  case Spherical: return L"Spherical";
3722  case Cylindrical: return L"Cylindrical";
3723  case Arbitrary: return L"Arbitrary";
3724  }
3725  }
3726 
3728  {
3729  NonMovable = 0,
3730  Movable = 1
3731  };
3733  {
3734  switch( inEnum )
3735  {
3736  default:
3737  case NonMovable: return L"NonMovable";
3738  case Movable: return L"Movable";
3739  }
3740  }
3741 
3743  {
3744  DiameterValue = 0,
3745  InnerDiameterValue = 1,
3746  OuterDiameterValue = 2,
3747  WidthValue = 3,
3748  HeightValue = 4,
3749  StartPointValue = 5,
3750  EndPointValue = 6,
3751  AreaValue = 7,
3752  NumValues
3753  };
3754 
3756  {
3757  switch (inEnum)
3758  {
3759  default:
3760  case DiameterValue: return L"DiameterValue";
3761  case InnerDiameterValue: return L"InnerDiameterValue";
3762  case OuterDiameterValue: return L"OuterDiameterValue";
3763  case WidthValue: return L"WidthValue";
3764  case HeightValue: return L"HeightValue";
3765  case StartPointValue: return L"StartPointValue";
3766  case EndPointValue: return L"EndPointValue";
3767  case AreaValue: return L"AreaValue";
3768  }
3769  }
3770 
3771 protected:
3772  struct Dtk_Handle; // Not defined here
3773  Dtk_Handle *_Private; // Handle
3774  enum
3775  {
3776  _typeID = DTK_TYPE_DATUM_TARGET
3777  };
3778 
3779  //! \sa Create()
3781 
3782  //! \sa Create(const Dtk_DatumTarget &)
3783  Dtk_DatumTarget(const Dtk_DatumTarget& inToBeCopied);
3784  //! \sa Create( Dtk_DatumTarget &&)
3786 
3787  //! \sa Create(const Dtk_CompositeText&, const Dtk_CompositeText&, const Dtk_pnt &, const Dtk_InfoPtr &,const Dtk_tab<Dtk_LeaderPtr> &,const Dtk_Double64 &,const Dtk_Double64 &,const Dtk_bool&, const Dtk_anchor_type &,const Dtk_justication_type &)
3789  Dtk_CompositeText inBottomText, const Dtk_pnt& inLocationPnt,
3790  const Dtk_InfoPtr& inInfos,
3792  const Dtk_Double64& inAngle = 0.0, const Dtk_Double64& inOffSet = 0.0,
3793  const Dtk_bool& inHasFrame = DTK_TRUE,
3794  const Dtk_anchor_type& inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
3795  const Dtk_justication_type& inJustificationType = DTK_JUSTIFY_LEFT);
3796  inline virtual Dtk_Object* Clone() { return new Dtk_DatumTarget(*this); }
3797 
3798  //! \BaseDestructor
3800 private:
3801  void _Init();
3802  void _Copy(const Dtk_DatumTarget& s);
3803  void _Reset();
3804  friend class Dtk_SmartPtr<Dtk_DatumTarget>;
3805 public:
3806  //! \DtkDynamicType
3808 
3809  //! \DtkDynamicCast
3811 
3812  //! \CreateBase
3814 
3815  //! \CreateCopy{in}
3817  //! \CreateMove{in}
3819 
3820  //! \brief Calls full featured constructor to allocate a new object.
3821  //! \param inTopText Top text
3822  //! \param inBottomText Bottom text
3823  //! \param inLocationPnt The Dtk_DatumTarget location
3824  //! \param inInfos Dtk_DatumTarget infos
3825  //! \param inLeadersArray Leaders array
3826  //! \param inAngle Angle
3827  //! \param inOffSet Offset
3828  //! \param inHasFrame DTK_TRUE if the Dtk_DatumTarget has frame
3829  //! \param inAnchorType Dtk_DatumTarget anchor type
3830  //! \param inJustificationType Justification type
3831  //! \return The created Dtk_DatumTargetPtr
3833  Dtk_CompositeText inBottomText, const Dtk_pnt &inLocationPnt,
3834  const Dtk_InfoPtr &inInfos,
3836  const Dtk_Double64 &inAngle = 0.0, const Dtk_Double64 &inOffSet = 0.0,
3837  const Dtk_bool &inHasFrame = DTK_TRUE,
3838  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
3839  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
3840 
3841  //! \AssignmentOp{in}
3843  //! \MoveOp{in}
3845 
3846  //! \brief Processes the Dtk_DatumTarget radius
3847  //! \return the processed radius.
3849 
3850  //! \brief Sets the type of the Dtk_DatumTarget.
3851  //! \param inType The Dtk_DatumTarget type
3852  //! \sa GetDatumTargetType() const
3854 
3855  //! \brief Gets the type of the Dtk_DatumTarget.
3856  //! \return The Dtk_DatumTarget type
3857  //! \sa GetDatumTargetType() const
3859 
3860  //! \brief Sets the Movable status of the Dtk_DatumTarget.
3861  //! \param inMovableStatus The Dtk_DatumTarget Movable status
3862  //! \param inMovableGeom The geometry related to the Movable status
3863  //! \sa GetDatumTargetMovableStatus() const
3864  //! \sa GetDatumTargetMovableStatusRelatedGeom() const
3866  Dtk_tab<Dtk_CurvePtr> inMovableGeom );
3867 
3868  //! \brief Gets the Movable status of the Dtk_DatumTarget.
3869  //! \return The Dtk_DatumTarget Movable status
3870  //! \sa SetDatumTargetMovable() const
3872 
3873  //! \brief Gets the geometry related to the Movable status of the Dtk_DatumTarget.
3874  //! \return The tab of Dtk_CurvePtr composing the geometry related to the Movable status
3875  //! \sa SetDatumTargetMovable() const
3877 
3878  //! \brief Retrieves the top text - get/set -
3879  //! \return The top text
3880  //! \sa TopText() const
3882 
3883  //! \brief Sets the optionnal Leader of the Top Text
3884  //! \param inLeader The Dtk_LeaderPtr
3885  //! \sa GetOptionnalTopTextLeader() const
3886  void SetOptionnalTopTextLeader( const Dtk_LeaderPtr & inLeader );
3887 
3888  //! \brief Retrieves optionnal Leader of the Top Text
3889  //! \return The Dtk_LeaderPtr
3890  //! \sa SetOptionnalTopTextLeader()
3892 
3893  //! \brief Retrieves the bottom text - get/set -
3894  //! \return The bottom text
3895  //! \sa BottomText() const
3897 
3898  //! \brief Sets the optionnal Leader of the Bottom Text
3899  //! \param inLeader The Dtk_LeaderPtr
3900  //! \sa GetOptionnalBottomTextLeader() const
3902 
3903  //! \brief Retrieves optionnal Leader of the Bottom Text
3904  //! \return The Dtk_LeaderPtr
3905  //! \sa SetOptionnalBottomTextLeader()
3907 
3908  //! \brief Retrieves the top text - read only -
3909  //! \return The top text
3910  //! \sa TopText()
3911  const Dtk_CompositeText &TopText() const;
3912 
3913  //! \brief Retrieves the bottom text - read only -
3914  //! \return The bottom text
3915  //! \sa BottomText()
3917 
3918  //! \brief Retrieves the frame status - read only -
3919  //! \return The text frame status
3920  //! \sa EnableFrame()
3921  //! \sa DisableFrame()
3922  const Dtk_bool& HasFrame() const;
3923 
3924  //! \brief Enables the frame status
3925  //! \sa HasFrame() const
3926  //! \sa DisableFrame()
3927  void EnableFrame();
3928 
3929  //! \brief Disables the frame status
3930  //! \sa HasFrame() const
3931  //! \sa DisableFrame()
3933 
3934  //! \brief Sets the frame of the Datum Target
3935  //! \param inFrame The Dtk_Frame
3936  //! \sa GetFrame() const
3937  void SetFrame( Dtk_Frame inFrame );
3938 
3939  //! \brief Retrieves the frame of the Datum Target
3940  //! \return The Dtk_Frame
3941  //! \sa SetFrame()
3942  const Dtk_Frame &GetFrame() const;
3943 
3944  //! \brief Retrieves the center point - read only -
3945  //! \return The center point
3946  //! \sa CenterPoint()
3948 
3950 
3951  //Dtk_Annotation interface
3952  //! \brief Processes all the Dtk_DatumTarget anchor points.
3953  //! \param outTabPnts The resulting anchor point array.
3954  //! \return dtkNoError if OK
3956 
3957  //! \brief Processes all the Dtk_DatumTarget anchor points.
3958  //! \param outTabPnts The resulting anchor point array.
3959  //! \return dtkNoError if OK
3961  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
3962 
3963  //! \return The type of the entity type - DTK_TYPE_DATUM_TARGET -
3965  {
3966  return DTK_TYPE_DATUM_TARGET;
3967  }
3968 
3969  //! \brief Sets the Dtk_DatumTarget anchor point.
3970  //! \param inNewLocation The new location point.
3971  //! \param inLocationAnchorType The anchor type related to the new location.
3972  //! \return dtkNoError if OK
3974  const Dtk_anchor_type &inLocationAnchorType);
3975 
3976  //! \brief Sets the location point of the Dtk_DatumTarget
3977  //! \brief The location point is related to the anchor type
3978  //! \param inLocation the location point
3979  //! \return dtkNoError if OK
3981 
3982  //! \brief Sets the offset of the Dtk_DatumTarget
3983  //! \brief The Offset is used to process bounding frames.
3984  //! \param inOffset The offset
3985  //! \return dtkNoError if OK
3986  //! \warning For internal use only
3988 
3989  //! \brief Sets the annotation angle using the annotation base.
3990  //! \param inRotationAngle The rotation angle to be set
3991  //! \return dtkNoError if OK
3993 
3994  //! \brief Swaps the Dtk_DatumTarget texts
3995  //! \return dtkNoError if OK
3997 
3998  //! \brief Retrieves the Dtk_DatumTarget geometries - frame -.
3999  //! \return All the geometries asked.
4001 
4002  //! \brief Reverses the text
4003  //! The text anchor type is replaced by the opposed one
4004  //! and the text orientation is reversed.
4005  //! \return dtkNoError if OK
4007  //! \brief Translates the Dtk_ReferenceBlock - internal use only -.
4008  //! \param inTranslationDir the translation vector.
4009  void Translate(const Dtk_dir &inTranslationDir);
4010 
4011  //! \Transform{inTransfo}
4013 
4014  //! \brief Sets the value associated to DatumTargetValueEnum .
4015  //! \param inValue Set the inValue associated to the inValueEnum
4016  //! \return dtkNoError if OK
4018 
4019  //! \brief Gets the value associated to DatumTargetValueEnum .
4020  //! \param outValue Get the value associated to inValueEnum
4021  //! \return dtkNoError if OK
4023 };
4024 
4025 //! \ingroup draw
4026 //! \class Dtk_OneCell
4027 //! \brief Allows the representation of cell.
4028 //! <P> <B> min_Height: </B> The original height before mergers.</P>
4029 //! <P> <B> min_Width: </B> The original width before mergers.</P>
4030 //! <P> <B> nbCells_Left_Right: </B> Number of adjacent cells to the left or right. </P>
4031 //! <P> <B> nbCells_Top_Bottom: </B> Number of adjacent cells at the top or bottom. </P>
4032 //! \image html OneCell.png
4034 {
4035 protected:
4036  //! The real height (before and after mergers).
4038  //! The real width (before and after mergers).
4040  //! The original height before mergers.
4042  //! The original width before mergers.
4046  //! Defines the anchor texts.
4048  //! Number of adjacent cells to the left or right
4050  //! Number of adjacent cells at the top or bottom
4052  //! Text justification
4054 
4055  // Color of Border Top
4057  // Color of Border Bottom
4059  // Color of Border Left
4061  // Color of Border Right
4063  // Blanked Status of Border Top
4065  // Blanked Status of Border Bottom
4067  // Blanked Status of Border Left
4069  // Blanked Status of Border Right
4071  //! \brief Added geometries for Dtk_OneCell
4073 
4074  enum
4075  {
4076  _typeID = DTK_TYPE_CELL
4077  };
4078 
4079  void _InitC();
4080  void _ResetC();
4081  void _CopyC(const Dtk_OneCell &cell);
4082 public:
4083  //! Base constructor
4085  //Dtk_OneCell(const double &h, const double &w);
4086 
4087  //! \CopyConstructor{in}
4089  //! \MoveConstructor{in}
4091 
4092  //! \BaseDestructor
4094  Dtk_bool HasText() const {return _HasText;}
4095 
4096  //! \DtkDynamicType
4097  Dtk_Int32 DtkDynamicType(const int& inId);
4098 
4099  //! \DtkDynamicCast
4101 
4102  //! \AssignmentOp{in}
4104  //! \MoveOp{in}
4106 
4107  //! \brief Gets the Dtk_OneCell anchor
4108  //! \return anchor;
4110 
4111  //! \brief Set anchor of text
4112  //! \param inNumberOfAnchor The new number of anchor
4113  void setAnchor(const Dtk_Size_t& inNumberOfAnchor);
4114 
4115  //! \brief Gets the Dtk_OneCell justification
4116  //! \return text justification
4118 
4119  //! \brief Sets justification
4120  //! \param inNewJustification The new Justification
4121  void setJustification(const Dtk_justication_type & inNewJustification);
4122 
4123  //! \brief Gets the Dtk_OneCell nbCells_Left_Right
4124  //! \return nbCells_Left_Right
4126 
4127  //! \brief Sets nbCells_Left_Right
4128  //! \param inNewVal The new int used to set nbCells_Left_Right
4129  void setnbCells_Left_Right(const Dtk_Size_t &inNewVal);
4130 
4131  //! \brief Gets the number of cells at the bottom or left of the Dtk_OneCell
4132  //! \return nbCells_Top_Bottom
4134 
4135  //! \brief Sets nbCells_Top_Bottom
4136  //! \param inNewVal The new int used to set nbCells_Top_Bottom
4137  void setnbCells_Top_Bottom(const Dtk_Size_t& inNewVal);
4138 
4139  //! \brief Sets the text in the Dtk_OneCell
4140  //! \param text The new text used to set _text
4142 
4143  //! \brief Gets the text witch is in the Dtk_OneCell
4144  //! \return _text
4146  const Dtk_CompositeText& GetText() const;
4147 
4148  //! \brief Gets the height of the Dtk_OneCell
4149  //! \return _Height
4151 
4152  //! \brief Sets the Dtk_OneCell height
4153  //! \param inHeight The new height used to set _Height
4154  void setHeight(const double &inHeight);
4155 
4156  //! \brief Gets the width of the Dtk_OneCell
4157  //! \return _Width
4159 
4160  //! \brief Sets the Dtk_OneCell Width
4161  //! \param inWidth The new width used to set _Width
4162  void setWidth(const double &inWidth);
4163 
4164  //! \brief Gets the original height
4165  //! \return min_Height
4167 
4168  //! \brief Sets the Dtk_OneCell min_Height
4169  //! \param inHeight The new height used to set min_Height
4170  void set_min_Height(const double &inHeight);
4171 
4172  //! \brief Gets the original width of the Dtk_Onecell
4173  //! \return min_Width
4175 
4176  //! \brief Sets the Dtk_OneCell min_Width
4177  //! \param inWidth The new width used to set min_Width
4178  void set_min_Width(const double &min_Width);
4179 
4180  //! \brief Affects _text to null in order not to read the text which is inside.
4181  void Delete_Text();
4182 
4183  //! \brief Tests if the cell is composed of cells merged horizontally.
4184  //! \return true or false
4186 
4187  //! \brief tests if the cell is composed of cells merged vertically.
4188  //! \return true or false
4190 
4191 
4192  //! \brief Sets BorderTopColor of Top border
4193  //! \param inBorderTopColor : color of the Top border
4194  void SetBorderTopColor(const Dtk_Int32 & inBorderTopColor);
4195  void SetBorderTopColor(const Dtk_RGB & inBorderTopColor);
4196 
4197  //! \brief Gets BorderTopColor of Top border
4198  //! \return BorderTopColor
4200 
4201  //! \brief Sets BorderBottomColor of Bottom border
4202  //! \param inBorderBottomColor : color of the Bottom border
4203  void SetBorderBottomColor(const Dtk_Int32 & inBorderBottomColor);
4204  void SetBorderBottomColor(const Dtk_RGB & inBorderBottomColor);
4205 
4206  //! \brief Gets BorderBottomColor of Bottom border
4207  //! \return BorderBottomColor
4209 
4210  //! \brief Sets BorderLeftColor of Left border
4211  //! \param inBorderLeftColor : color of the Left border
4212  void SetBorderLeftColor(const Dtk_Int32 & inBorderLeftColor);
4213  void SetBorderLeftColor(const Dtk_RGB & inBorderLeftColor);
4214 
4215  //! \brief Gets BorderLeftColor of Left border
4216  //! \return BorderLeftColor
4218 
4219  //! \brief Sets BorderRightColor of Right border
4220  //! \param inBorderRightColor : color of the Right border
4221  void SetBorderRightColor(const Dtk_Int32 & inBorderRightColor);
4222  void SetBorderRightColor(const Dtk_RGB & inBorderRightColor);
4223 
4224  //! \brief Gets BorderRightColor of Right border
4225  //! \return BorderRightColor
4227 
4228 
4229  //! \brief Sets BorderTopBlanked of Top border
4230  //! \param inBorderTopBlanked : Blanked Status of the Top border
4231  void SetBorderTopBlanked(const Dtk_Int32 & inBorderTopBlanked);
4232 
4233  //! \brief Gets BorderTopBlanked of Top border
4234  //! \return BorderTopBlanked DTK_TRUE is blanked
4236 
4237  //! \brief Sets BorderBottomBlanked of Bottom border
4238  //! \param inBorderBottomBlanked : Blanked Status of the Bottom border
4239  void SetBorderBottomBlanked(const Dtk_Int32 & inBorderBottomBlanked);
4240 
4241  //! \brief Gets BorderBottomBlanked of Bottom border
4242  //! \return BorderBottomBlanked DTK_TRUE is blanked
4244 
4245  //! \brief Sets BorderLeftBlanked of Left border
4246  //! \param inBorderLeftBlanked : Blanked Status of the Left border
4247  void SetBorderLeftBlanked(const Dtk_Int32 & inBorderLeftBlanked);
4248 
4249  //! \brief Gets BorderLeftBlanked of Left border
4250  //! \return BorderLeftBlanked DTK_TRUE is blanked
4252 
4253  //! \brief Sets BorderRightBlanked of Right border
4254  //! \param inBorderRightBlanked : Blanked Status of the Right border
4255  void SetBorderRightBlanked(const Dtk_Int32 & inBorderRightBlanked);
4256 
4257  //! \brief Gets BorderRightBlanked of Right border
4258  //! \return BorderRightBlanked DTK_TRUE is blanked
4260 
4261  //! \brief Adds some additionnal geometries to the Dtk_OneCell
4262  //! \param inAdditionnalGeometries The geometries to be added
4263  void AddAdditionnalGeometries( Dtk_tab<Dtk_EntityPtr> inAdditionnalGeometries);
4264 
4265  //! \brief Retrieves the additionnal geometries of the Dtk_OneCell
4266  //! \return The additionnal geometries array - read only -.
4268 
4269 };
4270 
4271 //! \ingroup draw
4272 //! \class Dtk_Table
4273 //! \brief Represents the tables
4274 //! <P> <B> nbCells_Line : </B> number of cells on each line (if we consider mergers).</P>
4275 //! <P> <B> nbCells_Col : </B> number of cells on each column (if we consider mergers).</P>
4276 //! <P> <B> Example: </B> </P>
4277 //! \image html TableOfCell.png
4278 //! \sa Dtk_OneCell
4279 //! \SmartPtr{Dtk_TablePtr}
4281 {
4282 protected:
4283  //! \brief A table of cells
4285  //! \brief Number of lines
4287  //! \brief Number of columns
4289  //! \brief number of cells on each line (if we consider mergers)
4291  //! \brief number of cells on each column (if we consider mergers)
4293  enum
4294  {
4295  _typeID = DTK_TYPE_TABLE
4296  };
4297  //! \BaseConstructor
4299 
4300  //! \sa Create(const Dtk_Table &)
4301  Dtk_Table(const Dtk_Table &tab);
4302 
4303  //! \sa Create(const Dtk_Int32&, const Dtk_Int32&, const Dtk_pnt &,const Dtk_Double64 &, const Dtk_InfoPtr &,const Dtk_tab<Dtk_LeaderPtr> &,const Dtk_Double64 &, const Dtk_anchor_type &,const Dtk_justication_type &) Dtk_Annotation();
4304  Dtk_Table(const Dtk_Int32 &inNumRows,
4305  const Dtk_Int32 &inNumCols,
4306  const Dtk_pnt &inLocationPnt = Dtk_pnt(0,0,0),
4307  const Dtk_Double64 &inAngle = 0.0,
4308  const Dtk_InfoPtr &infos = NULL,
4310  const Dtk_Double64 &inOffSet = 0.0,
4311  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
4312  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
4313 
4314  //! \BaseDestructor
4316 
4317  inline virtual Dtk_Object* Clone() { return new Dtk_Table(*this); }
4318  const Dtk_OneCell * operator[](const Dtk_Size_t &inPos) const;
4320  void _CheckRowCol(const Dtk_Size_t inRow, const Dtk_Size_t inCol) const;
4321 private:
4322  void _InitT();
4323  void _Copy(const Dtk_Table &tab);
4324  void _Reset();
4325  friend class Dtk_SmartPtr<Dtk_Table>;
4326 public:
4327 
4328  //! \DtkDynamicType
4330 
4331  //! \DtkDynamicCast
4333 
4334  //! \brief CreateCopy{in}
4335  static Dtk_TablePtr Create(const Dtk_Table& in);
4336 
4337  //! \brief Calls full featured constructor to allocate a new object.
4338  //! \param inNumRows Rows number in the Dtk_Table
4339  //! \param inNumCols Columns number in the Dtk_Table
4340  //! \param inLocationPnt The Dtk_Table location
4341  //! \param inAngle Angle
4342  //! \param inInfos Dtk_Table infos
4343  //! \param inLeadersArray Leaders array
4344  //! \param inOffSet Offset
4345  //! \param inAnchorType Dtk_Table anchor type
4346  //! \param inJustificationType Justification type
4347  //! \return The created Dtk_TablePtr
4348  static Dtk_TablePtr Create(const Dtk_Int32 &inNumRows,
4349  const Dtk_Int32 &inNumCols,
4350  const Dtk_pnt &inLocationPnt = Dtk_pnt(0,0,0),
4351  const Dtk_Double64 &inAngle = 0.0,
4352  const Dtk_InfoPtr &infos = NULL,
4354  const Dtk_Double64 &inOffSet = 0.0,
4355  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
4356  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
4357 
4358  //! \brief Gets the number of rows in Dtk_Table
4359  //! \return the number of rows
4361 
4362  //! \brief Gets the number of colums in Dtk_Table
4363  //! \return the number of columns
4365 
4366  //! \param inRow Line number
4367  //! \param inCol Column number
4368  //! \return tableOfCell[i][j]
4369  inline Dtk_OneCell& getCell( const Dtk_Size_t &inRow, const Dtk_Size_t &inCol)
4370  {
4371 #ifdef _DEBUG_DTK
4372  _CheckRowCol( inRow, inCol);
4373 #endif
4374  return operator[](inRow)[inCol];
4375  }
4376  inline const Dtk_OneCell& getCell( const Dtk_Size_t &inRow, const Dtk_Size_t &inCol) const
4377  {
4378 #ifdef _DEBUG_DTK
4379  _CheckRowCol( inRow, inCol);
4380 #endif
4381  return operator[](inRow)[inCol];
4382  }
4383 
4384 
4385 
4386 
4387 
4388  //! \brief Sets the (inRowIdx,inColIdx)th text.
4389  //! \param inRowIdx Line index - 0 based -
4390  //! \param inColIdx column index - 0 based -
4391  //! \param inText Text be put.
4392  void Set_Texts(const Dtk_Size_t &inRowIdx, const Dtk_Size_t &inColIdx,
4393  Dtk_CompositeText inText);
4394 
4395  //! \brief Gets the number of cells in each line
4396  //! \return the number of cells in each line
4397  const Dtk_Size_t& Cell_Line(const Dtk_Size_t inPos) const;
4398 
4399  //! \brief Sets the number of cells of the (i)th line
4400  //! \param i Line number
4401  //! \param inNewVal The new number witch represents the number of cell of the ith row
4403 
4404  //! \brief Gets the number of cells in each column
4405  //! \return the number of cells in each column
4406  const Dtk_Size_t& Cell_Col(const Dtk_Size_t inPos) const;
4407 
4408  //! \brief Sets the number of cells of the ith columns
4409  //! \param i Column number
4410  //! \param inNewVal The new number witch represents the number of cell of the ith Column
4412 
4413 
4414  //! \brief Gets the Dtk_Table rows number.
4415  //! \return The rows number.
4417 
4418  //! \brief Gets the Dtk_Table columns number.
4419  //! \return The columns number.
4421 
4422  //! \return The type of the entity type - DTK_TYPE_TABLE-
4424 
4425  //! \brief Gets the (i,j)th text - get/set -.
4426  //! \param inRow Text row index - 0 based -
4427  //! \param inCol Text column index - 0 based -
4428  //! \return The (inRow, inCol)th text.
4429  //! \sa Text(const Dtk_Size_t &, const Dtk_Size_t &) const
4430  //! \sa SetText(const Dtk_Size_t &, const Dtk_Size_t &, const Dtk_CompositeText &)
4431  const Dtk_CompositeText& Text(const Dtk_Size_t &inRow,
4432  const Dtk_Size_t &inCol) const;
4433 
4434  Dtk_CompositeText& Text(const Dtk_Size_t &inRow, const Dtk_Size_t &inCol);
4435 
4436  //! \brief Processes all the Dtk_Annotation anchor points.
4437  //! \param outTabPnts The resulting anchor point array.
4438  //! \return dtkNoError if OK
4440  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const ;
4441 
4442  //! \brief Sets the Dtk_Annotation anchor point.
4443  //! \param inNewLocation The new location point.
4444  //! \param inLocationAnchorType The anchor type related to the new location.
4445  //! \return dtkNoError if OK
4447  const Dtk_anchor_type &inLocationAnchorType);
4448 
4449  //! \brief Sets the location point of the Dtk_Annotation
4450  //! \brief The location point is related to the anchor type
4451  //! \param inLocation the location point
4452  //! \return dtkNoError if OK
4454 
4455  //! \brief Sets the offset of the Dtk_Annotation
4456  //! \brief The Offset is used to process bounding frames.
4457  //! \param inOffset The offset
4458  //! \return dtkNoError if OK
4460 
4461  //! \brief Sets the annotation angle using the annotation base.
4462  //! \param inRotationAngle The rotation angle to be set
4463  //! \return dtkNoError if OK
4465 
4466  //! \brief Processes internal annotation placement - internal use only -
4467  //! \return dtkNoError if OK
4469 
4470  //! \Transform{inTransfo}
4472 };
4473 
4474 //! \ingroup draw
4475 //! \class Dtk_Grid
4476 //! \brief Represents the grids
4477 //! <P> <B> Example: </B> </P>
4478 //! <P> Here is a grid with 3 minor lines per major in U and V directions </P>
4479 //! \image html Dtk_Grid.png
4480 //! \SmartPtr{Dtk_GridPtr}
4481 class Dtk_Grid : public Dtk_Annotation //Dtk_2dEntity
4482 {
4483 protected:
4484  struct Dtk_Handle; // Not defined here
4485  Dtk_Handle *_Private; // Handle
4486  enum
4487  {
4488  _typeID = DTK_TYPE_GRID
4489  };
4490 
4491 public:
4493  {
4496  Always
4497  };
4498 
4500  {
4503  Local
4504  };
4505 
4506 protected:
4507  //! \BaseConstructor
4509  _Private( nullptr )
4510  {
4511  };
4512 
4513  //! \sa Create(const Dtk_Grid &)
4514  Dtk_Grid(const Dtk_Grid &grid);
4515 
4516  Dtk_Grid(const Dtk_Oriented2dBBox &inUVBBox,
4517  const Dtk_Double64 &inUSpacing,
4518  const Dtk_Double64 &inVSpacing,
4519  const Dtk_Int32 &inUMinorPerMajor,
4520  const Dtk_Int32 &inVMinorPerMajor,
4521  //style
4522  const Dtk_RGB &inLineColor,
4523  const Dtk_FontLineType &inMajorLineStyle,
4524  const Dtk_FontLineType &inMinorLineStyle,
4525  const Dtk_Double64 &inMajorLineWidth,
4526  const Dtk_Double64 &inMinorLineWidth,
4527  const Dtk_bool &inDisplayGridOpt,
4528  const Dtk_bool &inDisplayOnTopOpt,
4529  const Dtk_bool &inDisplayMajorLinesOpt,
4530  const ShowLabelOption &inShowLabelOpt,
4531  const OriginReferenceOption &inOriginReferenceOpt,
4532  const Dtk_Double64 &inConceptionUnit);
4533 
4534  //! \BaseDestructor
4536 
4537  inline virtual Dtk_Object* Clone() { return new Dtk_Grid(*this); }
4538 
4539 private:
4540  void _Init();
4541  void _Copy(const Dtk_Grid &grid);
4542  void _Reset();
4543  friend class Dtk_SmartPtr<Dtk_Grid>;
4544 
4545 
4546  Dtk_Double64 GetConceptionUnit() const;
4547  Dtk_bool GetDrawLabelsInOriginUnitOption() const;
4548 public:
4549 
4550  //! \DtkDynamicType
4552 
4553  //! \DtkDynamicCast
4555 
4556  //! \brief CreateCopy{in}
4557  static Dtk_GridPtr Create(const Dtk_Grid& in);
4558 
4559  //! \brief Calls full featured constructor to allocate a new object.
4560  //! \param inUVBBox Bounding box of the grid
4561  //! \param inUSpacing U spacing between lines
4562  //! \param inVSpacing v spacing between lines
4563  //! \param inUMinorPerMajor U number of minor lines per major lines
4564  //! \param inVMinorPerMajor V number of minor lines per major lines
4565  //! \param inLineColor Grid Color
4566  //! \param inMajorLineStyle Major lines style
4567  //! \param inMinorLineStyle Minor lines style
4568  //! \param inMajorLineWidth Major lines width
4569  //! \param inMinorLineWidth Minor lines width
4570  //! \return The created Dtk_GridPtr
4571  static Dtk_GridPtr Create(const Dtk_Oriented2dBBox &inUVBBox,
4572  const Dtk_Double64 &inUSpacing,
4573  const Dtk_Double64 &inVSpacing,
4574  const Dtk_Int32 &inUMinorPerMajor = 1,
4575  const Dtk_Int32 &inVMinorPerMajor = 1,
4576  //style
4577  const Dtk_RGB &inLineColor = Dtk_RGB(),
4578  const Dtk_FontLineType &inMajorLineStyle = DTK_NO_PATTERN,
4579  const Dtk_FontLineType &inMinorLineStyle = DTK_NO_PATTERN,
4580  const Dtk_Double64 &inMajorLineWidth = 1.0,
4581  const Dtk_Double64 &inMinorLineWidth = 1.0,
4582  const Dtk_bool &inDisplayGridOpt = DTK_TRUE,
4583  const Dtk_bool &inDisplayOnTopOpt = DTK_TRUE,
4584  const Dtk_bool &inDisplayMajorLinesOpt = DTK_FALSE,
4585  const ShowLabelOption &inShowLabelOpt = Dtk_Grid::Always,
4586  const OriginReferenceOption &inOriginReferenceOpt = Dtk_Grid::Local,
4587  const Dtk_Double64 &inConceptionUnit = 1.0);
4588 
4589  //! \brief Gets the 2d bbox of the grid
4590  //! \return the bbox
4592 
4593  //! \brief Gets U spacing between lines
4594  //! \return U spacing
4596 
4597  //! \brief Gets V spacing between lines
4598  //! \return V spacing
4600 
4601  //! \brief Gets U minor lines per major
4602  //! \return U number of minor lines per major
4604 
4605  //! \brief Gets V minor lines per major
4606  //! \return V number of minor lines per major
4608 
4609  //! \brief Gets the major line font line type
4610  //! \return the major line font line type
4612 
4613  //! \brief Gets the minor line font line type
4614  //! \return the minor line font line type
4616 
4617  //! \brief Gets the major line width
4618  //! \return the major line width
4620 
4621  //! \brief Gets the minor line width
4622  //! \return the minor line width
4624 
4625  //! \brief Gets the display grid option
4626  //! \return the display grid option
4627  //! \return DTK_TRUE if grid is visible
4628  //! \return DTK_FALSE if grid is invisible
4630 
4631  //! \brief Gets the display on top option
4632  //! \return the display on top option
4633  //! \return DTK_TRUE if grid stays on top of other entities,
4634  //! \return DTK_FALSE if it is hidden by other entities displayed in front of it
4636 
4637  //! \brief Gets the display major lines option
4638  //! \return the display major lines option
4639  //! \return DTK_TRUE if displays major lines with style
4640  //! \return DTK_FALSE if all major and minor have same style
4642 
4643  //! \brief Gets the display show labels option
4644  //! \return the display show labels option
4645  //! \returns an enum indicating wether labels are hidden(None),
4646  //! \stays parallel to screen(ParallelToView) or displayed in grid plane(Always)
4648 
4649  //! \brief Gets the display origin reference option
4650  //! \return the display origin reference option
4651  //! \returns an enum indicating wether the origin of the grid is given in Absolute coordinates (Absolute),
4652  //! \in World Coordinate System (WCS) coordinates or in Local coordinates (Local)
4654 
4655 
4656  //! \return The type of the entity type - DTK_TYPE_GRID-
4658 
4659  //! \brief Draws Labels in millimeters or in origin unit
4660  //! \param inVal : Draws Labels in millimeters (DTK_FALSE) or in origin unit (DTK_TRUE)
4661  //! \remark : by default labels will be drawn in millimeters
4663 
4664  //! \brief Processes all the Dtk_Annotation anchor points.
4665  //! \param outTabPnts The resulting anchor point array.
4666  //! \return dtkNoError if OK
4668  Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
4669 
4670  //! \brief Sets the Dtk_Annotation anchor point.
4671  //! \param inNewLocation The new location point.
4672  //! \param inLocationAnchorType The anchor type related to the new location.
4673  //! \return dtkNoError if OK
4675  const Dtk_anchor_type &inLocationAnchorType);
4676 
4677  //! \brief Sets the location point of the Dtk_Annotation
4678  //! \brief The location point is related to the anchor type
4679  //! \param inLocation the location point
4680  //! \return dtkNoError if OK
4682 
4683  //! \brief Sets the offset of the Dtk_Annotation
4684  //! \brief The Offset is used to process bounding frames.
4685  //! \param inOffset The offset
4686  //! \return dtkNoError if OK
4688 
4689  ////! \brief Sets the annotation angle using the annotation base.
4690  ////! \param inRotationAngle The rotation angle to be set
4691  ////! \return dtkNoError if OK
4692  //Dtk_ErrorStatus SetRotationAngle(const Dtk_Double64 &inRotationAngle);
4693 
4694  ////! \brief Processes internal annotation placement - internal use only -
4695  ////! \return dtkNoError if OK
4696  //Dtk_ErrorStatus ProcessTextsPlacement();
4697 
4698  //! \Transform{inTransfo}
4700 
4701  //! \brief Retrieves the Dtk_Grid geometries.
4702  //! \return All the associated geometries asked.
4704 
4705  //! \brief Retrieves the Dtk_Grid labels.
4706  //! \return All the labels as composite texts.
4708 };
4709 
4710 
4711 
4712 //! \ingroup draw
4713 //! \class Dtk_Dimension
4714 //! \brief This is the general dimension
4715 //! \SmartPtr{Dtk_DimensionPtr}
4717 {
4718 public:
4720  //! \image html LinearDimension.png
4721  LinearDimension = 0,
4722  //! \image html AngularDimension.png
4724  //! \image html CurvilinearDimension.png
4726  //! \image html DiameterDimension.png
4728  //! \image html LinearDiameterDimension.png
4730  //! \image html RadiusDimension.png
4732  //! \image html LinearRadiusDimension.png
4734  //! \image html CumulatedDimension.png
4736  //! \image html ChamferDimension.png
4738  //! \image html LinearDimension.png
4740  //! \image html LinearDimension.png
4741  LengthDimension
4742  };
4744  BasicTypeNone = 0,
4748  BasicTypeOblong
4749  };
4750 
4752  ShowDualValueNone = 0,
4755  ShowDualValueSydeBySide
4756  };
4757 protected:
4758  struct Dtk_Handle; // Not defined here
4759  Dtk_Handle *_Private; // Handle
4760  enum {
4761  _typeID = DTK_TYPE_DIMENSION
4762  };
4763  //! \BaseDestructor
4765 
4766  //! \sa Create()
4768 
4769  //! \sa Create(const Dtk_Dimension &)
4771  //! \sa Create(const Dtk_Dimension &)
4773 
4774  //! \sa Create(const DimensionTypeEnum &, const Dtk_CompositeText &)
4775  Dtk_Dimension(const DimensionTypeEnum &inDimensionType,
4776  Dtk_CompositeText inTexts);
4778 
4779  inline virtual Dtk_Object* Clone() { return new Dtk_Dimension(*this); }
4780 
4781 private:
4782  void _Init();
4783  void _Copy(const Dtk_Dimension &s);
4784  void _Reset();
4785  friend class Dtk_SmartPtr<Dtk_Dimension>;
4786 public:
4787  // Downcasting
4788 
4789  //! \DtkDynamicType
4791 
4792  //! \DtkDynamicCast
4794 
4795  //! \CreateBase
4797 
4798  //! \CreateCopy{in}
4800  //! \CreateMove{in}
4802 
4803  //! \brief Calls full featured constructor to allocate a new object.
4804  //! \param inDimensionType The Dtk_Dimension type
4805  //! \param inTexts The Dtk_Dimension texts
4806  static Dtk_DimensionPtr Create(const DimensionTypeEnum &inDimensionType,
4807  Dtk_CompositeText inTexts);
4808 
4809  //! \brief Adds a leader with an extension line to the Dtk_Dimension
4810  //! \param inLeader the leader to add
4811  //! \param inExtensionLine The additional extension line - optional -
4812  //! \return DtkNoError if OK.
4813  //! \remark This function is used for backward compatibility only.
4814  //! \sa AddLeaderWithExtensionLine(const Dtk_LeaderPtr &, const Dtk_tab<Dtk_pnt> &)
4815  //! \deprecated Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead
4816  SetAsDeprecated( "2025.4", "Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead" )
4817  Dtk_ErrorStatus AddLeaderWithExtensionLine(
4818  const Dtk_LeaderPtr &inLeader,
4819  Polyline_detk* const &inExtensionLine);
4820 
4821  //! \brief Adds a leader with an extension line to the Dtk_Dimension.
4822  //! \param inLeader the leader to add.
4823  //! \param inExtensionLinePnts The additional extension line - optional - in points array form.
4824  //! \return DtkNoError if OK.
4825  //! \deprecated Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead
4826  SetAsDeprecated( "2025.4", "Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead" )
4827  Dtk_ErrorStatus AddLeaderWithExtensionLine(const Dtk_LeaderPtr &inLeader,
4828  const Dtk_tab<Dtk_pnt> &inExtensionLinePnts);
4829 
4830  //! \brief Adds a leader to the Dtk_Dimension.
4831  //! \param inLeader The leader to add.
4832  //! \return DtkNoError if OK.
4833  Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader );
4834 
4835  //! \return The type of the entity type - DTK_TYPE_DIMENSION -.
4836  type_detk get_type_detk() const
4837  {
4838  return DTK_TYPE_DIMENSION;
4839  }
4840 
4841  //! \brief Adds text to the Dtk_Dimension text.
4842  //! \param inText Text to be added.
4843  //! \return DtkNoError if OK.
4845 
4846  //! \brief Retrieves the Dtk_Dimension text - read only -.
4847  //! \return The Dtk_Dimension text.
4848  const Dtk_CompositeText& GetTexts() const;
4849 
4850  //! \brief Retrieves the leaders number - read only -.
4851  //! \return The Dtk_Dimension leaders number.
4853 
4854  //! \brief Retrieves the extension lines number - read only -.
4855  //! \return The number of Dtk_Dimension leaders having an extension line.
4856  //! \deprecated Use Dtk_LeaderPtr GetNumLeaders() and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead
4857  SetAsDeprecated( "2025.4", "Use Dtk_LeaderPtr GetNumLeaders() and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead" )
4858  Dtk_Size_t GetNumExtensionLines() const;
4859 
4860  //! \brief Retrieves the ith leader - read only -.
4861  //! \param inPos The leader index.
4862  //! \return The ith leader.
4863  Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) const;
4864 
4865  //! \brief Retrieves the ith extension line found in the leaders - read only -.
4866  //! \param inPos The extension line index.
4867  //! \return The ith extension line as a Dtk_CurvePtr.
4868  //! \deprecated Use Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead
4869  SetAsDeprecated( "2025.4", "Use Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead" )
4870  Dtk_CurvePtr GetExtensionLineAsCurve(const Dtk_Size_t &inPos) const;
4871 
4872  //! \brief Retrieves the Dtk_Dimension type - read only -.
4873  //! \return The Dtk_Dimension type.
4874  DimensionTypeEnum GetDimensionType() const;
4875 
4876  //! \brief Converts the ith extension line found in the leaders into geometrical elements.
4877  //! \param inExtLinePos The extension line index.
4878  //! \param outGeomsArray The geometrical elements array to populate.
4879  //! \return dtkErrorNullPointer if there is less than [inExtLinePos + 1] extension lines, dtkNoError otherwise.
4880  //! \deprecated Use Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead
4881  SetAsDeprecated( "2025.4", "Use Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead" )
4882  Dtk_ErrorStatus ConvertExtensionLineToGeometries(
4883  const Dtk_Size_t &inExtLinePos,
4884  Dtk_tab<Dtk_CurvePtr> &outGeomsArray) const;
4885 
4886  //! \brief Gets the extra geometrical elements number - read only -.
4887  //! \return The extra geometrical elements number.
4888  Dtk_Size_t GetNumExtraGeometries() const;
4889 
4890  //! \brief Gets the ith extra geometrical element - read only -
4891  //! \param inPos The extra geometrical element index.
4892  //! \return The extra geometrical element.
4893  Dtk_CurvePtr GetExtraGeometryAsCurve(const Dtk_Size_t &inPos) const;
4894 
4895  //! \brief Set the Dtk_Dimension Basic status type - set only -.
4896  //! \sa SetBasicDimensionType()
4897  void SetBasicDimensionType(const BasicDimensionTypeEnum& inBasicDimensionTypeEnum) const;
4898 
4899  //! \brief Get the Dtk_Dimension Basic status type with its Geometries definition- get only -.
4900  //! \return The Dtk_Dimension basic status type.
4901  //! \sa GetBasicDimensionType()
4902  BasicDimensionTypeEnum& GetBasicDimensionType() const ;
4903 
4904  //! \brief Set the Dtk_Dimension Basic status type with its Geometries definition- set only -.
4905  //! \sa SetBasicDimensionType()
4906  void SetBasicDimensionType(const BasicDimensionTypeEnum& inBasicDimensionTypeEnum, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements) const;
4907 
4908  //! \brief Get the Dtk_Dimension Basic status type - get only -.
4909  //! \return The Dtk_Dimension basic status type.
4910  //! \sa GetBasicDimensionType()
4911  BasicDimensionTypeEnum& GetBasicDimensionType(Dtk_tab< Dtk_CurvePtr >& inRelatedGeomElements) const ;
4912 
4913  //! \brief Retrieves the Dtk_Dimension Basic status type - read only -.
4914  //! \return The Dtk_Dimension basic status type.
4915  //! \sa BasicDimensionType()
4916  const BasicDimensionTypeEnum& BasicDimensionType() const;
4917 
4918  //! \brief Retrieves the Dtk_Dimension Basic status type - get/set -.
4919  //! \return The Dtk_Dimension basic status type.
4920  //! \sa BasicDimensionType() const
4921  BasicDimensionTypeEnum& BasicDimensionType();
4922 
4923  //! \brief Retrieves the Dtk_Dimension show dual value type - read only -.
4924  //! \return The Dtk_Dimension show dual type such as Below, Fractional, or Side-by-Side.
4925  //! \sa ShowDualValueType() const
4926  const ShowDualValueTypeEnum& ShowDualValueType() const;
4927 
4928  //! \brief Retrieves the Dtk_Dimension show dual value type - get/set -.
4929  //! \return The Dtk_Dimension show dual type such as Below, Fractional, or Side-by-Side.
4930  //! \sa ShowDualValueType()
4931  ShowDualValueTypeEnum& ShowDualValueType();
4932 
4933  Dtk_ErrorStatus GetTextVerticalOffSet(double& outOffSet);
4934  Dtk_ErrorStatus GetTextRefPoint(Dtk_pnt& outRefPnt);
4935 
4936  //! \Transform{inTransfo}
4938 
4939  //! \brief Tells if the Dtk_Dimension is a Fake one or not.
4940  //! \return DTK_TRUE if it's a fake Dimension, DTK_FALSE else.
4941  //! \sa SetFakeDimensionStatus()
4942  Dtk_bool IsFakeDimension() const;
4943 
4944  //! \brief Sets the Fake Dimension Status.
4945  //! \param inIsFakeDimension DTK_TRUE if it's a fake Dimension, DTK_FALSE else.
4946  //! \sa IsFakeDimension()
4947  void SetFakeDimensionStatus(const Dtk_bool inIsFakeDimension);
4948 
4949  //! \brief Set the Dtk_Dimension frame information - get/set -
4950  //! \return The Dtk_Dimension frame type
4951  //! \sa FrameType() const
4952  void SetFrameType( const Dtk_frame_type& inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements);
4953 
4954  //! \brief Retrieves the Frame - read only -
4955  //! \param outFrame The frame
4956  //! \sa FrameType() const
4957  void GetFrame(Dtk_Frame& outFrame) const;
4958 
4959 
4960  //! \brief Remove leader-
4961  void ClearLeader();
4962 
4963 };
4964 
4965 //! \ingroup draw
4966 //! \class Dtk_ReferenceBlock
4967 //! \image html Dtk_ReferenceBlock.png
4968 //! \brief This is the Dtk_ReferenceBlock Class.\n
4969 //! It is part of the Dtk_ReferenceFrame entity.
4970 //! \SmartPtr{Dtk_ReferenceBlockPtr}
4972 {
4973 protected:
4974  struct Dtk_Handle; // Not defined here
4975  Dtk_Handle *_Private; // Handle
4976  enum {
4977  _typeID = DTK_TYPE_REFERENCE
4978  };
4979  //! \sa Create( const Dtk_Oriented2dBBox& , const Dtk_Oriented2dBBox& )
4981  const Dtk_Oriented2dBBox& inOuterBBox);
4982 
4983  //! \sa Create( const Dtk_ReferenceBlock & )
4985  //! \sa Create( Dtk_ReferenceBlock && )
4987 
4988  //! \BaseDestructor
4990 
4991  //! \DtkInternal
4993  const DTK_FDT_MODIFIER &inMaterialModifier);
4994 
4995  //! \DtkInternal
4996  void _ReplaceFirstMaterialModifer(const Dtk_Size_t &inReferencePos,
4997  const DTK_FDT_MODIFIER &inMaterialModifier);
4998  inline virtual Dtk_Object* Clone() { return new Dtk_ReferenceBlock(*this); }
4999 
5000 private:
5001  void _Init();
5002  void _Copy(const Dtk_ReferenceBlock &s);
5003  void _Reset();
5004  friend class Dtk_SmartPtr<Dtk_ReferenceBlock>;
5005 public:
5006 
5007  //! \brief Add a reference to the Dtk_ReferenceBlock.
5008  //! \param inReferenceLabel The reference label.
5009  //! \param inMaterialModifier The reference material modifier.
5010  //! \param inLinkedFdt The FDT to be linked - NULL by default -.
5011  //! \return DtkNoError if OK.
5013  const DTK_FDT_MODIFIER &inMaterialModifier = DTK_FDT_MODIFIER_NONE,
5014  const Dtk_FdtPtr &inLinkedFdt = NULL);
5015 
5016  //! \brief Add a reference to the Dtk_ReferenceBlock.
5017  //! \param inFullTextWithMaterialCondition The reference label.\n May contain also material modifier.
5018  //! \param inLinkedFdt The FDT to be linked - NULL by default -.
5019  //! \return DtkNoError if OK.
5020  Dtk_ErrorStatus AddReference( Dtk_string inFullTextWithMaterialCondition,
5021  const Dtk_FdtPtr &inLinkedFdt);
5022 
5023  //! \DtkDynamicType
5025 
5026  //! \DtkDynamicCast
5028 
5029 // //! \DtkInternal
5030 // void _PropagateOrientation(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
5031 
5032  //! \brief Calls full featured constructor to allocate a new object.
5034  const Dtk_Oriented2dBBox& inInnerBBox,
5035  const Dtk_Oriented2dBBox& inOuterBBox);
5036 
5037  //! \CreateCopy{in}
5039  //! \CreateMove{in}
5041 
5042  //! \brief Full featured constructor.
5043  //! \param inFullTextWithMaterialCondition The Transformation Matrix
5044  //! \param inLinkedFdt The FDT to be linked.
5045  //! \return the created Dtk_ReferenceBlockPtr
5046  //static Dtk_ReferenceBlockPtr Create(
5047  // const Dtk_Text &inFullTextWithMaterialCondition,
5048  // const Dtk_FdtPtr &fdt);
5049  //
5050  ////! \brief Full featured constructor with one first reference.
5051  ////! \param inLabel The first reference label
5052  ////! \param inMaterialModifier The first reference material modifier.
5053  ////! \param inLinkedFdt The FDT to be linked.
5054  ////! \return the created Dtk_ReferenceBlockPtr
5055  //static Dtk_ReferenceBlockPtr Create(const Dtk_Text &inLabel,
5056  // const DTK_FDT_MODIFIER &inMaterialModifier = DTK_FDT_MODIFIER_NONE,
5057  // const Dtk_FdtPtr &inLinkedFdt = Dtk_FdtPtr(NULL));
5058 
5059  //! \AssignmentOp{in}
5061  //! \MoveOp{in}
5063 
5064  //! \brief Retrieves the ith reference label - read only -.
5065  //! \param inReferencePos The reference index
5066  //! \return the ith reference label
5067  //! \sa GetReferenceLabel(const Dtk_Size_t &)
5068  const Dtk_string& GetReferenceLabel(const Dtk_Size_t &inReferencePos) const;
5069 
5070  //! \brief Sets the X Axis for the Dtk_CompositeText and included Dtk_Texts
5071  //! \param inXAxis The new X Axis
5072  //! \return dtkNoError if OK
5074 
5075  //! \brief Sets the Y Axis for the Dtk_CompositeText and included Dtk_Texts
5076  //! \param inYAxis The new Y Axis
5077  //! \return dtkNoError if OK
5079 
5080  //! \brief Retrieves the material modifier related to the ith reference.
5081  //! \param inReferencePos The reference index.
5082  //! \return the related material modifier.
5083  DTK_FDT_MODIFIER GetMaterialModifier(const Dtk_Size_t &inReferencePos) const;
5084 
5085  //! \brief Retrieves the Linked Fdt
5086  //! \return The linked Fdt
5087  Dtk_FdtPtr GetLinkedtFdt(const Dtk_Size_t &inReferencePos) const;
5088 
5089  //! \brief Converts the Dtk_ReferenceBlock into a Dtk_string - used for Dtk_Symbol conversion -
5090  //! \return The converted Dtk_string
5092 
5093  //! \brief Sets the Dtk_ReferenceBlock anchor point.
5094  //! \param inNewLocation The new location point.
5095  //! \param inLocationAnchorType The anchor type related to the new location.
5096  //! \param inOffSet For internal use only.
5097  //! \return dtkNoError if OK
5099  const Dtk_pnt &inNewLocation,
5100  const Dtk_anchor_type &inLocationAnchorType=DTK_ANCHOR_BOTTOM_LEFT,
5101  const Dtk_Double64 &inOffSet = 0.0);
5102 
5103  //! \brief Processes all the Dtk_ReferenceBlock anchor points.
5104  //! \param outTabPnts The resulting anchor point array.
5105  //! \param inOffSet - internal use only -.
5106  //! \return dtkNoError if OK
5108  Dtk_pnt (&outTabPoints)[DTK_NB_ANCHOR_TYPES],
5109  const Dtk_Double64 &inOffSet = 0.0) const;
5110 
5111  //! \brief Retrieves the references number.
5112  //! \return The number of references included into the Dtk_ReferenceBlock.
5114 
5115  //! \brief Translates the Dtk_ReferenceBlock - internal use only -.
5116  //! \param inTranslationDir the translation vector.
5117  void Translate(const Dtk_dir &inTranslationDir);
5118 
5119  //! \Transform{inTransfo}
5121 
5123 
5124  //! \brief Set the outer Bounding Box.
5125  //! \param inOuterBBox The outer Bounding Box.
5126  void SetOuterBoundingBox(const Dtk_Oriented2dBBox& inOuterBBox) const;
5127 
5128 
5129  //! \brief Set the inner Bounding Box.
5130  //! \param inInnerBBox The inner Bounding Box.
5131  void SetInnerBoundingBox(const Dtk_Oriented2dBBox& inInnerBBox);
5132 
5134 
5135 };
5136 
5137 //! \ingroup draw
5138 //! \class Dtk_ReferenceFrame
5139 //! \image html Dtk_ReferenceFrame.png
5140 //! \brief This is the Reference Frame Class.\n
5141 //! It is part of the Dtk_ToleranceSpecification entity.\n
5142 //! It's basically composed by one - or more - Dtk_ReferenceBlock.
5143 //! \SmartPtr{Dtk_ReferenceFramePtr}
5145 {
5146 protected:
5147  struct Dtk_Handle; // Not defined here
5148  Dtk_Handle *_Private; // Handle
5149  enum {
5150  _typeID = DTK_TYPE_REFERENCE_FRAME
5151  };
5152 
5153  //! \sa Create()
5155 
5156  //! \sa Create(const Dtk_ReferenceFrame &)
5158  //! \sa Create( Dtk_ReferenceFrame &&)
5160 
5161  //! \sa Create(const Dtk_ReferenceBlockPtr &)
5163  inline virtual Dtk_Object* Clone() { return new Dtk_ReferenceFrame(*this); }
5164 
5165  //! \BaseDestructor
5167 private:
5168  void _Init();
5169  void _Reset();
5170  void _Copy(const Dtk_ReferenceFrame &s);
5171  friend class Dtk_SmartPtr<Dtk_ReferenceFrame>;
5172 
5173 public:
5174  //! \DtkDynamicType
5176 
5177  //! \DtkDynamicCast
5179 
5180  //! \CreateBase
5182 
5183  //! \CreateCopy{in}
5185  //! \CreateMove{in}
5187 
5188  //! \brief Full featured constructor with one first reference block.
5189  //! \param inFirstReferenceBlock The first reference block
5190  //! \return the created Dtk_ReferenceFramePtr
5192  const Dtk_ReferenceBlockPtr & inFirstReferenceBlock);
5193 
5194  //! \AssignmentOp{in}
5196  //! \MoveOp{in}
5198 
5199  //! \brief Add a reference block to the Dtk_ReferenceFrame.
5200  //! \param inReferenceBlock The reference block to add
5201  //! \return DtkNoError if OK.
5203  const Dtk_ReferenceBlockPtr & inReferenceBlock);
5204 
5205 // //! \DtkInternal
5206 // void _PropagateOrientation(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
5207 
5208  //! \brief Retrieves the number of reference blocks - read only -.
5209  //! \return The number of reference blocks.
5211 
5212  //! \brief Processes all the Dtk_ReferenceFrame anchor points.
5213  //! \param outTabPnts The resulting anchor point array.
5214  //! \param inOffSet - internal use only -.
5215  //! \return DtkNoError if OK
5217  const Dtk_Double64& inOffSet = 0.0) const;
5218 
5219  //! \brief Sets the Dtk_ReferenceFrame anchor point.
5220  //! \param inNewLocation The new location point.
5221  //! \param inLocationAnchorType The anchor type related to the new location.
5222  //! \param inOffSet For internal use only.
5223  //! \return DtkNoError if OK
5225  const Dtk_pnt &inNewLocation,
5226  const Dtk_anchor_type &inLocationAnchorType,
5227  const Dtk_Double64 &inOffSet = 0.0);
5228 
5229  //! \brief Retrieves the ith reference block - get/set -.
5230  //! \param inReferencePos The reference block index
5231  //! \return The inReferencePos'th reference block.
5232  //! \exception Dtk_OutOfRangeType Dtk_Exception is raised if
5233  //! the inReferencePos parameter is invalid
5234  Dtk_ReferenceBlockPtr& Reference(const Dtk_Size_t &inReferencePos);
5235 
5236  //! \brief Retrieves the ith reference blocks - read only -.
5237  //! \param inReferencePos The reference block index
5238  //! \return The inReferencePos'th reference block.
5239  //! \exception Dtk_OutOfRangeType Dtk_Exception is raised if
5240  //! the inReferencePos parameter is invalid
5242  const Dtk_Size_t &inReferencePos) const;
5243 
5244  //! \brief Retrieves the first reference block - get/set -.
5245  //! \return The first reference block.
5246  //! \sa FirstReference() const
5248 
5249  //! \brief Retrieves the first reference block - read only -.
5250  //! \return The first reference block.
5251  //! \sa FirstReference()
5253 
5254  //! \brief Retrieves the second reference block - get/set -.
5255  //! \return The second reference block.
5256  //! \sa FirstReference() const
5258 
5259  //! \brief Retrieves the second reference block - read only -.
5260  //! \return The second reference block.
5261  //! \sa FirstReference()
5263 
5264  //! \brief Retrieves the third reference block - get/set -.
5265  //! \return The third reference block.
5266  //! \sa FirstReference() const
5268 
5269  //! \brief Retrieves the third reference block - read only -.
5270  //! \return The third reference block.
5271  //! \sa FirstReference()
5273 
5274  void Translate(const Dtk_dir& inTranslationDir);
5275 
5277 };
5278 
5279 //! \ingroup draw
5280 //! \class Dtk_ToleranceSpecification
5281 //! \image html Dtk_ToleranceSpecification.png
5282 //! \brief This is the geometrical tolerance specification.\n
5283 //! It is part of the Dtk_ToleranceSpecificationContainer.\n
5284 //! It may contain a Dtk_ReferenceFrame and/or Dtk_FCFFeatureIndicator.
5285 //! \SmartPtr{Dtk_ToleranceSpecificationPtr}
5287 {
5288 protected:
5289  struct Dtk_Handle; // Not defined here
5290  Dtk_Handle *_Private; // Handle
5291  enum {
5292  _typeID = DTK_TYPE_TOL_SPEC
5293  };
5294  //! \sa Create()
5296 
5297  //! \sa Create( Dtk_Text, const Dtk_ReferenceFramePtr &)
5298  Dtk_ToleranceSpecification( Dtk_Text inFullTextWithMaterialCondition,
5299  const Dtk_ReferenceFramePtr
5300  &inReferenceFrame = Dtk_ReferenceFrame::Create());
5301 
5302  //! \sa Create( const Dtk_ToleranceSpecification & )
5304  //! \sa Create( Dtk_ToleranceSpecification && )
5306 
5307  //! \BaseDestructor
5309  inline virtual Dtk_Object* Clone() { return new Dtk_ToleranceSpecification(*this); }
5310 
5311 private:
5312  void _Init();
5313  void _Copy(const Dtk_ToleranceSpecification &s);
5314  void _Reset();
5316 public:
5317  // Downcasting
5318 
5319  //! \DtkDynamicType
5321 
5322  //! \DtkDynamicCast
5324 
5325  //! \CreateBase
5327 
5328  //! \brief Calls full featured constructor to allocate a new object.
5329  //! \param inFullTextWithMaterialCondition A full text string containing the main value AND the optional material modifier.
5330  //! \param inReferenceFrame The optional reference frame.
5331  //! \return the created Dtk_ReferenceFramePtr
5333  Dtk_Text inFullTextWithMaterialCondition,
5334  const Dtk_ReferenceFramePtr &inReferenceFrame = Dtk_ReferenceFrame::Create());
5335 
5336  //! \CreateCopy{in}
5338  //! \CreateMove{in}
5340 
5341  //! \AssignmentOp{in}
5343  //! \MoveOp{in}
5345 
5346  //! \brief Retrieves the reference blocks number - read only -.\n
5347  //! This is a shortcut without using Dtk_ReferenceFrame object.
5348  //! \return The reference blocks number.
5349  //! \sa Dtk_ReferenceFrame::GetNumReferences()
5351 
5352  //! \brief Retrieves the ith reference block - get/set -.\n
5353  //! This is a shortcut without using Dtk_ReferenceFrame object.
5354  //! \param inReferencePos the reference block index.
5355  //! \return The ith reference block.
5356  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5357  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5358  //! \sa Reference() const
5359  //! \sa Dtk_ReferenceFrame::Reference()
5360  Dtk_ReferenceBlockPtr& Reference( const Dtk_Size_t &inReferencePos );
5361 
5362  //! \brief Retrieves the ith reference block - get/set -.\n
5363  //! This is a shortcut without using Dtk_ReferenceFrame object.
5364  //! \param inReferencePos the reference block index.
5365  //! \return The ith reference block.
5366  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5367  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5368  //! \sa Reference()
5369  //! \sa Dtk_ReferenceFrame::Reference() const
5370  const Dtk_ReferenceBlockPtr& Reference( const Dtk_Size_t &inReferencePos ) const;
5371 
5372  //! \brief Retrieves the first reference block - get/set -.\n
5373  //! This is a shortcut without using Dtk_ReferenceFrame object.
5374  //! \return The first reference block.
5375  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5376  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5377  //! \sa FirstReference() const
5378  //! \sa Dtk_ReferenceFrame::FirstReference()
5380 
5381  //! \brief Retrieves the first reference block - read only -.\n
5382  //! This is a shortcut without using Dtk_ReferenceFrame object.
5383  //! \return The first reference block.
5384  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5385  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5386  //! \sa FirstReference()
5387  //! \sa Dtk_ReferenceFrame::FirstReference() const
5389 
5390  //! \brief Retrieves the second reference block - get/set -.\n
5391  //! This is a shortcut without using Dtk_ReferenceFrame object.
5392  //! \return The second reference block.
5393  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5394  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5395  //! \sa SecondReference() const
5396  //! \sa Dtk_ReferenceFrame::SecondReference()
5398 
5399  //! \brief Retrieves the second reference block - read only -.\n
5400  //! This is a shortcut without using Dtk_ReferenceFrame object.
5401  //! \return The second reference block.
5402  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5403  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5404  //! \sa SecondReference()
5405  //! \sa Dtk_ReferenceFrame::SecondReference() const
5407 
5408  //! \brief Retrieves the third reference block - get/set -.\n
5409  //! This is a shortcut without using Dtk_ReferenceFrame object.
5410  //! \return The third reference block.
5411  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5412  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5413  //! \sa ThirdReference() const
5414  //! \sa Dtk_ReferenceFrame::ThirdReference()
5416 
5417  //! \brief Retrieves the third reference block - read only -.\n
5418  //! This is a shortcut without using Dtk_ReferenceFrame object.
5419  //! \return The third reference block.
5420  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5421  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5422  //! \sa ThirdReference()
5423  //! \sa Dtk_ReferenceFrame::ThirdReference() const
5425 
5426  //! \DtkInternal
5428 
5429  //! \DtkInternal
5431 
5432 
5433  //! \brief Explodes the Dtk_ToleranceSpecification into Dtk_CompositeText and
5434  //! geometrical elements - used for Dtk_Symbol conversion only -
5435  //! \param outCompositeText Resulting composite text
5436  //! \param outGeoms Resulting geometrical elements
5437  //! \return DtkNoError if OK
5439  Dtk_tab<Dtk_CurvePtr> &outGeoms);
5440 
5441  //! \brief Processes all the Dtk_ToleranceSpecification anchor points.
5442  //! \param outTabPnts The resulting anchor point array.
5443  //! \param ignoreadd - internal use only -.
5444  //! \return DtkNoError if OK
5446  const Dtk_Int32& ignoreadd = 0) const;
5447 
5448  //! \brief Processes all the Dtk_ToleranceSpecification anchor points.
5449  //! \param outTabPnts The resulting anchor point array.
5450  //! \param ignoreadd - internal use only -.
5451  //! \return DtkNoError if OK
5453  const Dtk_Int32& ignoreadd=0);
5454 
5455 
5456  //! \brief Retrieve the Dtk_ToleranceSpecification Outer Bounding Box.
5457  //! \param outOuterBBox The resulting Outer Bounding Box.
5458  //! \param inIncludeReferenceFrame DTK_TRUE to include the reference frame Bounding box - DTK_TRUE by default -.
5459  //! \param InIncludeIndicators DTK_TRUE to include the indicatorBounding boxes - DTK_TRUE by default -.
5460  //! \return DtkNoError if OK
5462  const Dtk_bool inIncludeReferenceFrame = DTK_TRUE,
5463  const Dtk_bool InIncludeIndicators = DTK_TRUE ) const;
5464 
5465  //! \deprecated Use SetMainValue mehod to alter MainValue instead.
5466  SetAsDeprecated( "2021.1", "Use SetMainValue mehod to alter MainValue instead." )
5467  Dtk_ErrorStatus SetOuterBoundingBox(const Dtk_Oriented2dBBox& inOuterBBox);
5468 
5469  //! \deprecated Use SetMainValue mehod to alter MainValue instead.
5471  SetAsDeprecated( "2021.1", "Use SetMainValue mehod to alter MainValue instead." )
5472  Dtk_ErrorStatus SetInnerBoundingBox(const Dtk_Oriented2dBBox& inInnerBBox);
5473 
5474  Dtk_ErrorStatus GetOuterBoundingBoxWithOutRefFrame(Dtk_Oriented2dBBox& outOuterBBox) const;
5475 
5476  //! \brief Set the outer Bounding Box.
5477  //! \param inOuterBBox The outer Bounding Box.
5478  SetAsDeprecated( "2021.1", "Use SetMainValue mehod to alter MainValue instead." )
5479  Dtk_ErrorStatus SetOuterBoundingBoxWithOutRefFrame(const Dtk_Oriented2dBBox& inOuterBBox) ;
5480 
5481  //! \brief Sets the Dtk_ToleranceSpecification anchor point.
5482  //! \param inNewLocation The new location point.
5483  //! \param inLocationAnchorType The anchor type related to the new location.
5484  //! \return dtkNoError if OK
5485  Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation,
5486  const Dtk_anchor_type &inLocationAnchorType);
5487 
5488  //! \brief Sets the X Axis for the Dtk_ToleranceSpecification and included Dtk_Texts
5489  //! \param inXAxis The new X Axis
5490  //! \return dtkNoError if OK
5491  Dtk_ErrorStatus SetXAxis(const Dtk_dir &dir);
5492 
5493  //! \brief Sets the Y Axis for the Dtk_ToleranceSpecification and included Dtk_Texts
5494  //! \param inYAxis The new Y Axis
5495  //! \return dtkNoError if OK
5496  Dtk_ErrorStatus SetYAxis(const Dtk_dir &dir);
5497 
5498  //! \brief Retrieves the Dtk_ToleranceSpecification text including all modifiers as Dtk_CompositeText - material modifier, etc... - - read only -
5499  //! \return Dtk_ToleranceSpecification Dtk_CompositeText.
5500  const Dtk_CompositeText& GetMainValue() const;
5501 
5502  //! \brief Sets the Dtk_ToleranceSpecification text including all modifiers - material modifier, etc... -
5503  void SetMainValue( Dtk_CompositeText inNewMainValue );
5504 
5505  //! \brief Retrieves the reference frame- read only -
5506  //! \return The reference frame
5507  //! \sa ReferenceFrame()
5508  const Dtk_ReferenceFramePtr& ReferenceFrame() const;
5509 
5510  //! \brief Retrieves the reference frame- get/set -
5511  //! \return The reference frame
5512  //! \sa ReferenceFrame() const
5513  Dtk_ReferenceFramePtr& ReferenceFrame();
5514 
5515  //! \brief Adds a feature indicator to the Dtk_ToleranceSpecification.
5516  //! \param inIndicator the feature indicator to be added.
5517  void AddIndicator( const Dtk_FCFFeatureIndicatorPtr& inIndicator );
5518 
5519  //! \brief Retrieves indicator number - read only -.\n
5520  //! \return The indicator number.
5521  Dtk_Size_t GetNumIndicators() const;
5522 
5523  //! \brief Retrieves the ith indicator - get only -.\n
5524  //! \param inIndicatorIndex the indicator index.
5525  //! \return The ith indicator.
5526  //! \sa GetIndicator()
5527  const Dtk_FCFFeatureIndicatorPtr& GetIndicator( const Dtk_Size_t inIndicatorIndex ) const;
5528 
5529  //! \brief Retrieves the ith indicator - get/set -.\n
5530  //! \param inIndicatorIndex the indicator index.
5531  //! \return The ith indicator.
5532  //! \sa GetIndicator() const
5533  Dtk_FCFFeatureIndicatorPtr& GetIndicator( const Dtk_Size_t inIndicatorIndex );
5534 
5535  //! \brief Retrieves the Dtk_ToleranceSpecification material modifier - read only -
5536  //! \return The material modifier
5537  DTK_FDT_MODIFIER GetMaterialModifier() const;
5538 
5539  //! \brief Tells if the Dtk_ToleranceSpecification has a FreeState Modifier or not - read only -
5540  //! \return DTK_TRUE if a FreeState modifier is present. DTK_FALSE else
5541  Dtk_bool HasFreeStateModifier() const;
5542 
5543  //! \brief Retrieves the X Axis for the Dtk_ToleranceSpecification - read only -
5544  //! \return The X Axis
5545  Dtk_dir GetXAxis() const;
5546 
5547  //! \brief Retrieves the Y Axis for the Dtk_ToleranceSpecification - read only -
5548  //! \return The Y Axis
5549  Dtk_dir GetYAxis() const;
5550 
5551  //! \Transform{inTransfo}
5553 
5554  //! \brief Translates the text giving a translation vector
5555  //! \param inTranslateDir the translation vector
5556  //! \return dtkNoError if OK
5557  void Translate(const Dtk_dir &inTranslationDir);
5558 };
5559 
5560 //! \ingroup draw
5561 //! \class Dtk_GeometricalTolerance
5562 //! \image html Dtk_GeometricalTolerance.png
5563 //! \brief This is the geometrical tolerance.\n
5564 //! It's basically composed by one - or more - Dtk_ToleranceSpecificationContainer.
5565 //! \SmartPtr{Dtk_GeometricalTolerancePtr} \n
5566 //! \ref geom_tol
5568 {
5569 protected:
5570  struct Dtk_Handle; // Not defined here
5571  Dtk_Handle *_Private; // Handle
5572  enum {
5573  _typeID = DTK_TYPE_GEOM_TOL
5574  };
5575 
5576  //! \sa Create()
5578 
5579  //! \sa Create(const Dtk_GeometricalTolerance &)
5581  //! \sa Create( Dtk_GeometricalTolerance &&)
5583  inline virtual Dtk_Object* Clone() { return new Dtk_GeometricalTolerance(*this); }
5584  //! \BaseDestructor
5586 private:
5587  void _Init();
5588  void _Reset();
5589  void _Copy(const Dtk_GeometricalTolerance &s);
5590  friend class Dtk_SmartPtr<Dtk_GeometricalTolerance>;
5591 public:
5592 
5593  //! \DtkDynamicType
5595 
5596  //! \DtkDynamicCast
5598 
5599  //! \return The type of the entity type - DTK_TYPE_GEOM_TOL -
5601 
5602  //! \Transform{inTransfo}
5604 
5605  //! \CreateBase
5607 
5608  //! \CreateCopy{in}
5610  const Dtk_GeometricalTolerance &in);
5611  //! \CreateMove{in}
5613  Dtk_GeometricalTolerance&& in );
5614 
5615  //! \AssignmentOp{in}
5617  const Dtk_GeometricalTolerance &in);
5618  //! \MoveOp{in}
5621 
5622  //! \brief Processes all the Dtk_GeometricalTolerance anchor points.
5623  //! \param outTabPnts The resulting anchor point array.
5624  //! \return dtkNoError if OK
5626  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
5627 
5628  //! \brief Processes all the Dtk_GeometricalTolerance anchor points.
5629  //! \param outTabPnts The resulting anchor point array.
5630  //! \param inProcessAddtionnalTexts DTK_TRUE if additional texts are included in the bounding box.
5631  //! \return dtkNoError if OK
5633  const Dtk_bool& inProcessAddtionnalTexts) const;
5634 
5635  //! \brief Sets the Dtk_GeometricalTolerance anchor point.
5636  //! \param inNewLocation The new location point.
5637  //! \param inLocationAnchorType The anchor type related to the new location.
5638  //! \return dtkNoError if OK
5640  const Dtk_pnt &inNewLocation,
5641  const Dtk_anchor_type& inLocationAnchorType);
5642 
5643  //! \brief Sets the Dtk_GeometricalTolerance anchor point.
5644  //! \param inNewLocation The new location point.
5645  //! \param inLocationAnchorType The anchor type related to the new location.
5646  //! \param inProcessAddtionnalTexts DTK_TRUE if additional texts are included in the bounding box.
5647  //! \return dtkNoError if OK
5649  const Dtk_anchor_type &inLocationAnchorType,
5650  const Dtk_bool &inProcessAddtionnalTexts);
5651 
5652  //! \brief Sets the location point of the Dtk_GeometricalTolerance
5653  //! \brief The location point is related to the anchor type
5654  //! \param inLocation the location point
5655  //! \return dtkNoError if OK
5657 
5658  //! \brief Sets the offset of the Dtk_GeometricalTolerance
5659  //! \brief The Offset is used to process bounding frames.
5660  //! \param inOffset The offset
5661  //! \return dtkNoError if OK
5662  //! \warning For internal use only
5664 
5665  //! \brief Sets the annotation angle using the annotation base.
5666  //! \param inRotationAngle The rotation angle to be set
5667  //! \return dtkNoError if OK
5669 
5670  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -
5671  //! \param inPos tolerance specification container index.
5672  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5673  //! \sa at(const Dtk_Size_t&) const
5675 
5676  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -
5677  //! \param inPos tolerance specification container index.
5678  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5679  //! \sa at(const Dtk_Size_t&)
5681 
5682  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -
5683  //! \param inPos tolerance specification container index.
5684  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5685  //! \sa at(const Dtk_Size_t&)
5687  const Dtk_Size_t &inPos) const;
5688 
5689  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -
5690  //! \param inPos tolerance specification container index.
5691  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5692  //! \sa at(const Dtk_Size_t&) const
5694  const Dtk_Size_t &inPos) const;
5695 
5696  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -
5697  //! \param inPos tolerance specification container index.
5698  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5699  //! \sa at(const Dtk_Size_t&)
5700  //! \sa GetToleranceSpecificationContainer(const Dtk_Size_t&) const
5702  const Dtk_Size_t& inPos);
5703 
5704  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -
5705  //! \param inPos tolerance specification container index.
5706  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5707  //! \sa at(const Dtk_Size_t&) const
5708  //! \sa GetToleranceSpecificationContainer(const Dtk_Size_t&)
5711 
5712  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer number - read only -
5713  //! \return The Dtk_ToleranceSpecificationContainer number
5715 
5716  //! \brief Adds a Dtk_ToleranceSpecificationContainer to the Dtk_GeometricalTolerance.
5717  //! \param inTolSpecCont The Dtk_ToleranceSpecificationContainer to be Added.
5718  //! \return DtkNoError if OK
5720  const Dtk_ToleranceSpecificationContainerPtr &inTolSpecCont);
5721 
5722 // //! \DtkInternal
5723 // void IPropagateOrientation();
5724 
5726  const Dtk_bool& inProcessAddtionnalTexts,
5727  Dtk_Oriented2dBBox& outOuterBBox) const;
5728 
5729  void Translate(const Dtk_dir& inTranslationDir);
5730 
5731  //! \brief Sets the lettering color for symbol and references.
5732  //! \param inLetteringColor The color to be set
5733  void SetLetteringColor(const Dtk_RGB &inLetteringColor);
5734 
5735  //! \brief Gets the lettering color for symbol and references.
5736  //! \return the lettering color
5737  const Dtk_RGB& GetLetteringColor() const ;
5738 
5739  //! \brief Sets the frame color .
5740  //! \param inFrameColor The color to be set
5741  void SetFrameColor(const Dtk_RGB &inFrameColor);
5742 
5743  //! \brief Gets the frame color .
5744  //! \return the frame color
5745  const Dtk_RGB& GetFrameColor() const ;
5746 
5747 };
5748 
5749 //! \ingroup draw
5750 //! \class Dtk_FCFFeatureIndicatorType
5751 //! \brief This is the Feature Indicator.\n
5752 //! It is part of the Dtk_FCFFeatureIndicator.\n
5754 {
5755 public:
5757  {
5758  Unknown = 0,
5759  //! \image html IndicatorTypeDirectionFeature.png
5761  //! \image html IndicatorTypeCollectionPlane.png
5763  //! \image html IndicatorTypeIntersectionPlane.png
5765  //! \image html IndicatorTypeOrientationPlane.png
5767  };
5768 protected:
5772  void _Init();
5774  void _Reset();
5775 public:
5776 
5777  //! \brief Full featured constructor
5778  //! \param inIndicatorType Feature indicator Type.
5779  //! \param inOuterBoundingBox Outer Bounding Box.
5780  //! \param inRelatedGeometricalElts Geometries representing the frame.
5782  const Dtk_Oriented2dBBox& inOuterBoundingBox,
5783  Dtk_tab< Dtk_CurvePtr > inRelatedGeometricalElts )
5784  {
5785  SetIndicatorTypeData( inIndicatorType,
5786  inOuterBoundingBox,
5787  std::move( inRelatedGeometricalElts ) );
5788  }
5789 
5790  //! \BaseConstructor
5792  {
5793  _Init();
5794  }
5795  //! \CopyConstructor{in}
5796  Dtk_FCFFeatureIndicatorType( const Dtk_FCFFeatureIndicatorType & in ) : m_Type( in.m_Type ), m_RelatedGeomElements( in.m_RelatedGeomElements ), m_OuterBBox( in.m_OuterBBox )
5797  {
5798  }
5799  //! \MoveConstructor{in}
5800  Dtk_FCFFeatureIndicatorType( Dtk_FCFFeatureIndicatorType&& in ) DTK_NOEXCEPT : m_Type( in.m_Type ), m_RelatedGeomElements( std::move( in.m_RelatedGeomElements ) ), m_OuterBBox( in.m_OuterBBox )
5801  {
5802  }
5803 
5804  //! \BaseDestructor
5806  {
5807  _Reset();
5808  }
5809 
5810  //! \brief Clear elements
5811  inline void Clear()
5812  {
5813  _Reset();
5814  }
5815 
5816 
5817  //! \brief Set IndicatorType data.
5818  //! \param inIndicatorType Feature indicator Type.
5819  //! \param inOuterBoundingBox Outer Bounding Box.
5820  //! \param inRelatedGeometricalElts Geometries representing the frame.
5822  const Dtk_FCFFeatureIndicatorTypeEnum& inIndicatorType,
5823  const Dtk_Oriented2dBBox& inOuterBoundingBox,
5824  Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements )
5825  {
5826  m_Type = inIndicatorType;
5827  m_OuterBBox = inOuterBoundingBox;
5828  m_RelatedGeomElements = std::move( inRelatedGeomElements );
5829  }
5830  //! \brief Retrieves the IndicatorType semantic Type - Read Only -
5831  //! \return The IndicatorType Type
5833  {
5834  return m_Type;
5835  }
5836 
5837  //! \brief Process IndicatorType Related geometries.
5838  //! \return Always dtkNoError as success.
5840 
5841  //! \brief Retrieves the IndicatorType Outer Bounding Box - basically the related geometries BBox - - Read Only -
5842  //! \return The IndicatorType Outer Bounding Box
5844  {
5845  return m_OuterBBox;
5846  }
5847  //! \brief Translates the IndicatorType giving a translation vector
5848  //! \param inTranslateDir the translation vector
5849  //! \return dtkNoError if OK
5850  Dtk_ErrorStatus Translate( const Dtk_dir &inTranslateDir );
5851 
5852  //! \brief Applies a transformation matrix to the IndicatorType
5853  //! \param inTransfo The transformation matrix
5854  //! \return dtkNoError if OK
5856 
5857  //! \AssignmentOp{in}
5859  {
5860  if( &in == this )
5861  {
5862  return *this;
5863  }
5864  _Reset();
5865  _Copy( in );
5866  return *this;
5867  }
5868  //! \MoveOp{in}
5870  {
5871  if( &in == this )
5872  {
5873  return *this;
5874  }
5875  m_Type = in.m_Type;
5876  m_RelatedGeomElements = std::move( in.m_RelatedGeomElements );
5877  m_OuterBBox = in.m_OuterBBox;
5878 
5879  return *this;
5880  }
5881 };
5882 
5883 //! \ingroup draw
5884 //! \class Dtk_FCFFeatureIndicator
5885 //! \image html Dtk_FCFFeatureIndicator.png
5886 //! \brief This is the Feature Indicator.\n
5887 //! It is part of the Dtk_ToleranceSpecification.\n
5888 //! It's basically composed of a type, a symbol and a Datum feature identifier.
5889 //! \SmartPtr{Dtk_FCFFeatureIndicator}
5891 {
5892 protected:
5893  struct Dtk_Handle; // Not defined here
5894  Dtk_Handle *m_Private; // Handle
5895  enum
5896  {
5898  };
5899 
5900  //! \sa Create()
5902  {
5903  _Init();
5904  }
5905 
5906  //! \sa Create(const Dtk_FCFFeatureIndicator &)
5908  {
5909  _Init();
5910  _Copy( in );
5911  }
5912 
5913  //! \sa Create( Dtk_FCFFeatureIndicator&& )
5914  Dtk_FCFFeatureIndicator( Dtk_FCFFeatureIndicator&& in ) DTK_NOEXCEPT : Dtk_Object( std::move( in ) ), m_Private( in.m_Private )
5915  {
5916  in.m_Private = nullptr;
5917  }
5918 
5919  //! \sa Create( Dtk_FCFFeatureIndicatorType, Dtk_Text, Dtk_Text )
5921  Dtk_Text inSymbol,
5922  Dtk_Text inDatumFeatureIdentifier );
5923  inline virtual Dtk_Object* Clone()
5924  {
5925  return new Dtk_FCFFeatureIndicator( *this );
5926  }
5927 
5928  //! \BaseDestructor
5930  {
5931  _Reset();
5932  }
5933 private:
5934  void _Init();
5935  void _Reset();
5936  void _Copy( const Dtk_FCFFeatureIndicator &s );
5937  friend class Dtk_SmartPtr<Dtk_FCFFeatureIndicator>;
5938 
5939 public:
5940  //! \DtkDynamicType
5941  inline Dtk_Int32 DtkDynamicType( const Dtk_Int32 &inId )
5942  {
5943  if( inId == _typeID )
5944  return 1;
5945  return Dtk_Object::DtkDynamicType( inId );
5946  }
5947  //! \DtkDynamicCast
5949  {
5950  if( s->DtkDynamicType( _typeID ) )
5951  return static_cast< Dtk_FCFFeatureIndicator* >( s );
5952  return NULL;
5953  }
5954  inline void Clear()
5955  {
5956  _Reset();
5957  _Init();
5958  }
5959 
5960  //! \CreateBase
5962  {
5963  return new Dtk_FCFFeatureIndicator();
5964  }
5965 
5966  //! \CreateCopy{in}
5968  {
5969  return new Dtk_FCFFeatureIndicator( in );
5970  }
5971  //! \CreateMove{in}
5973  {
5974  return new Dtk_FCFFeatureIndicator( std::move( in ) );
5975  }
5976 
5977  //! \brief Calls full featured constructor to allocate a new object.
5978  //! \param inFeatureIndicatorType The FeatureIndicator Type.
5979  //! \param inSymbol The FeatureIndicator symbol.
5980  //! \param inDatumFeatureIdentifier The FeatureIndicator Datum feature identifier.
5981  //! \return the created Dtk_FCFFeatureIndicatorPtr
5982  inline static Dtk_FCFFeatureIndicatorPtr Create( Dtk_FCFFeatureIndicatorType inFeatureIndicatorType,
5983  Dtk_Text inSymbol,
5984  Dtk_Text inDatumFeatureIdentifier )
5985  {
5986  return new Dtk_FCFFeatureIndicator( std::move( inFeatureIndicatorType ), std::move( inSymbol ), std::move( inDatumFeatureIdentifier ) );
5987  }
5988 
5989  //! \AssignmentOp{in}
5991  //! \MoveOp{in}
5993 
5994  //! \brief Processes all the Dtk_FCFFeatureIndicator anchor points.
5995  //! \param outTabPnts The resulting anchor point array.
5996  //! \param inOffSet - internal use only -.
5997  //! \return DtkNoError if OK
5999 
6000 
6001  //! \brief Retrieves the DatumFeature Identifier of the Dtk_FCFFeatureIndicator - Read Only -
6002  //! \return The Dtk_FCFFeatureIndicator DatumFeature Identifier.
6004 
6005  //! \brief Retrieves the Symbol of the Dtk_FCFFeatureIndicator - Read Only -
6006  //! \return The Dtk_FCFFeatureIndicator Symbol.
6007  const Dtk_Text& GetSymbol() const;
6008 
6009  //! \brief Retrieves the Full Type of the Dtk_FCFFeatureIndicator - Read Only -.
6010  //! \return The Dtk_FCFFeatureIndicator Dtk_FCFFeatureIndicatorType.
6012 
6013  //! \brief Sets the Dtk_FCFFeatureIndicator anchor point.
6014  //! \param inNewLocation The new location point.
6015  //! \param inLocationAnchorType The anchor type related to the new location.
6016  //! \return DtkNoError if OK
6018  const Dtk_pnt &inNewLocation,
6019  const Dtk_anchor_type &inLocationAnchorType );
6020 
6021  //! \brief Translates the Dtk_FCFFeatureIndicator giving a translation vector.
6022  //! \param inTranslationDir The translation vector.
6023  //! \return DtkNoError if OK
6024  Dtk_ErrorStatus Translate( const Dtk_dir& inTranslationDir );
6025 
6026  //! \brief Transforms the Dtk_FCFFeatureIndicator giving a transformation matrix.
6027  //! \param inTranslationDir The transformation matrix.
6028  //! \return DtkNoError if OK
6030 
6031  //! \brief Retrieves the Dtk_FCFFeatureIndicator Outer Bounding Box.
6032  //! \return The Dtk_FCFFeatureIndicator Outer Bounding Box.
6034 
6035  //! \brief Explodes the Dtk_FCFFeatureIndicator into Dtk_CompositeText and
6036  //! geometrical elements - used for Dtk_Symbol conversion only -
6037  //! \param outText Resulting composite text
6038  //! \param outGeomsArray Resulting geometrical elements
6039  //! \return DtkNoError if OK
6041 
6042 
6043 };
6044 
6045 //! \ingroup draw
6046 //! \class Dtk_ToleranceSpecificationContainer
6047 //! \image html Dtk_ToleranceSpecificationContainer.png
6048 //! \brief This is the tolerance specification container.\n
6049 //! It is part of the Dtk_GeometricalTolerance.\n
6050 //! It's basically composed by one - or more - Dtk_ToleranceSpecification.
6051 //! \SmartPtr{Dtk_ToleranceSpecificationContainerPtr}
6053 {
6054 public:
6055  enum TypeEnum {
6056  Typeunknown = 0,
6057  //! \image html Straightness.png
6059  //! \image html Flatness.png
6061  //! \image html Circularity.png
6063  //! \image html Cylindricity.png
6065  //! \image html LineProfile.png
6067  //! \image html SurfaceProfile.png
6069  //! \image html Angularity.png
6071  //! \image html Perpendicularity.png
6073  //! \image html Parallelism.png
6075  //! \image html Position.png
6077  //! \image html Concentricity.png
6079  //! \image html Symmetry.png
6081  //! \image html CircularRunout.png
6083  //! \image html TotalRunout.png
6085  //! \image html AxisIntersection.png
6086  TypeAxisIntersection
6087  };
6088 protected:
6089  struct Dtk_Handle; // Not defined here
6090  Dtk_Handle *_Private; // Handle
6091  enum {
6092  _typeID = DTK_TYPE_GEOM_TOL
6093  };
6094  //! \sa Create(const Dtk_ToleranceSpecificationContainer &)
6097  //! \sa Create( Dtk_ToleranceSpecificationContainer&& )
6100  //! \sa Create(const TypeEnum &)
6102  const TypeEnum &inTolSpecContType,
6103  const Dtk_Oriented2dBBox& inInnerTolTypeBBox,
6104  const Dtk_Oriented2dBBox& inOuterTolTypeBBox);
6105 
6106  //! \BaseDestructor
6108  inline virtual Dtk_Object* Clone() { return new Dtk_ToleranceSpecificationContainer(*this); }
6109 
6110 private:
6111  void _Init();
6112  void _Reset();
6115 public:
6116 
6117 
6119  //! \DtkDynamicType
6121 
6122  //! \DtkDynamicCast
6124 
6125  //! \CreateCopy{in}
6128  //!\CreateMove{in}
6131 
6132  //! \brief Calls full featured constructor to allocate a new object.
6133  //! \param inTolSpecContType The tolerance specification container type
6134  //! \return the created Dtk_ToleranceSpecificationContainerPtr
6136  const TypeEnum &inTolSpecContType,
6137  const Dtk_Oriented2dBBox& inInnerTolTypeBBox,
6138  const Dtk_Oriented2dBBox& inOuterTolTypeBBox );
6139 
6140 
6141  //! \brief Retrieves the Tolerance Specification Container Type outer Bounding Box.
6142  //! \param outOuterBBox The resulting Tolerance Specification Container Type outer Bounding Box.
6144 
6145 
6146  //! \brief Set the Tolerance Specification Container Type outer Bounding Box.
6147  //! \param inOuterBBox The Tolerance Specification Container Type outer Bounding Box.
6148  void SetToleranceTypeOuterBoundingBox(const Dtk_Oriented2dBBox& inOuterBBox ) const;
6149 
6150  //! \brief Retrieves the Tolerance Specification Container Type inner Bounding Box.
6151  //! \param outOuterBBox The resulting Tolerance Specification Container Type inner Bounding Box.
6153 
6154  //! \brief Set the Tolerance Specification Container Type inner Bounding Box.
6155  //! \param inInnerBBox The Tolerance Specification Container Type inner Bounding Box.
6156  void SetToleranceTypeInnerBoundingBox( const Dtk_Oriented2dBBox& inInnerBBox ) const;
6157 
6158  //! \brief Processes all the ith Dtk_ToleranceSpecification anchor points.
6159  //! \param inTolSpecPos the Dtk_ToleranceSpecification index.
6160  //! \param outTabPnts The resulting anchor point array.
6161  //! \return dtkNoError if OK
6163  const Dtk_Size_t &inTolSpecPos,
6164  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
6165 
6166  //! \brief Processes all the Dtk_ToleranceSpecificationContainer anchor points.
6167  //! \param outTabPnts The resulting anchor point array.
6168  //! \return dtkNoError if OK
6170  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
6171 
6173  const Dtk_Size_t& inTolSpecPos,
6174  Dtk_Oriented2dBBox& outOuterBBox) const;
6175 
6176 // //! \DtkInternal
6177 // void _PropagateOrientation();
6178 
6179  //! \brief Retrieves the tolerance specification number - read only -.
6180  //! \return The tolerance specification number.
6182 
6183  //! \AssignmentOp{in}
6186  //! \MoveOp{in}
6189 
6190  //! \brief Adds a tolerance specification to the Dtk_ToleranceSpecificationContainer.
6191  //! \param inTolSpec the tolerance specification to be added.
6192  //! \return dtkNoError if OK.
6194  const Dtk_ToleranceSpecificationPtr &inTolSpec);
6195 
6196  //! \brief Retrieves the ith tolerance specification - read only -.
6197  //! \param inPos the tolerance specification index.
6198  //! \return The inPos'th tolerance specification.
6200  const Dtk_Size_t &inPos) const;
6201 
6202  //! \brief Replaces the ith tolerance specification .
6203  //! \param inPos the tolerance specification index.
6204  //! \param inNewTolSpec the new tolerance specification index.
6205  //! \return dtkNoError if OK.
6207  const Dtk_Size_t &inPos,
6208  const Dtk_ToleranceSpecificationPtr &inNewTolSpec);
6209 
6210  //! \brief Processes all the Dtk_Symbol anchor points.
6211  //! \param outTabPnts The resulting anchor point array.
6212  //! \return dtkNoError if OK
6214  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES],
6215  const Dtk_Int32 &ref_tol_spec_ind = -1) const;
6216 
6217  //! \brief Sets the Dtk_ToleranceSpecificationContainer top-text.
6218  //! \param inText The new text.
6219  //! \return dtkNoError if OK
6221 
6222  //! \brief Sets the Dtk_ToleranceSpecificationContainer bottom-text.
6223  //! \param inText The new text.
6224  //! \return dtkNoError if OK
6226 
6227  //! \brief Sets the Dtk_ToleranceSpecificationContainer left-text.
6228  //! \param inText The new text.
6229  //! \return dtkNoError if OK
6231 
6232  //! \brief Sets the Dtk_ToleranceSpecificationContainer right-text.
6233  //! \param inText The new text.
6234  //! \return dtkNoError if OK
6236 
6237  //! \brief OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer top-text as Dtk_Text - read only -.
6238  //! \remark Only the first text - if exists - is retrieved.
6239  //! \return the text if there is one. an empty Dtk_Text else.
6240  //! \deprecated Use TopTextAsCompositeText() const method instead.
6241  const Dtk_Text& TopText() const;
6242 
6243  //! \brief OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer bottom-text as Dtk_Text - read only -.
6244  //! \remark Only the first text - if exists - is retrieved.
6245  //! \return the text if there is one. an empty Dtk_Text else.
6246  //! \deprecated Use BottomTextAsCompositeText() const method instead.
6247  const Dtk_Text& BottomText() const;
6248 
6249  //! \brief OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer right-text as Dtk_Text - read only -.
6250  //! \remark Only the first text - if exists - is retrieved.
6251  //! \return the text if there is one. an empty Dtk_Text else.
6252  //! \deprecated Use RightTextAsCompositeText() const method instead.
6253  const Dtk_Text& GetRightText() const;
6254 
6255  //! \brief OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer left-text as Dtk_Text - read only -.
6256  //! \remark Only the first text - if exists - is retrieved.
6257  //! \return the text if there is one. an empty Dtk_Text else.
6258  //! \deprecated Use LeftTextAsCompositeText() const method instead.
6259  const Dtk_Text& GetLeftText() const;
6260 
6261  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer top-text as Dtk_CompositeText - read only -.
6262  //! \return the text.
6264 
6265  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer bottom-text as Dtk_CompositeText - read only -.
6266  //! \return the text.
6268 
6269  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer right-text as Dtk_CompositeText - read only -.
6270  //! \return the text.
6272 
6273  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer left-text as Dtk_CompositeText - read only -.
6274  //! \return the text.
6276 
6277 
6278  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer top-text - read only -.
6279  //! \return the text - Dtk_string form -.
6281 
6282  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer bottom-text - read only -.
6283  //! \return the text - Dtk_string form -.
6285 
6286  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer right-text - read only -.
6287  //! \return the text - Dtk_string form -.
6289 
6290  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer left-text - read only -.
6291  //! \return the text - Dtk_string form -.
6293 
6294  //! \brief Explodes the Dtk_ToleranceSpecificationContainer into Dtk_CompositeText and
6295  //! geometrical elements - used for Dtk_Symbol conversion only -
6296  //! \param outCompositeText Resulting composite text
6297  //! \param outGeoms Resulting geometrical elements
6298  //! \return DtkNoError if OK
6300  Dtk_CompositeText &outCompositeText,
6301  Dtk_tab<Dtk_CurvePtr> &outGeoms);
6302 
6303  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer type - read only -
6304  //! \return The Dtk_ToleranceSpecificationContainer type.
6305  //! \sa ToleranceSpecificationContainerType()
6307 
6308  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer type - get/set -
6309  //! \return The Dtk_ToleranceSpecificationContainer type.
6310  //! \sa ToleranceSpecificationContainerType() const
6312 
6313 // //! \DtkInternal
6314 // void _PropagateOrientation(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
6315 
6316  //! \brief Processes all the Dtk_Symbol anchor points.
6317  //! \param outTabPnts The resulting anchor point array.
6318  //! \return dtkNoError if OK
6320  const Dtk_bool& ProcessAddtionnalTexts) const;
6321 
6322  //! \brief Sets the Dtk_ToleranceSpecificationContainer anchor point.
6323  //! \param inNewLocation The new location point.
6324  //! \param inLocationAnchorType The anchor type related to the new location.
6325  //! \param inProcessAdditionnalTexts For internal use only.
6326  //! \return dtkNoError if OK
6328  const Dtk_pnt &inNewLocation,
6329  const Dtk_anchor_type &inLocationAnchorType,
6330  const Dtk_bool &inProcessAdditionnalTexts);
6331 
6332  //! \brief Sets the location point of the Dtk_ToleranceSpecificationContainer
6333  //! \brief The location point is related to the anchor type
6334  //! \param inLocation the location point
6335  //! \return dtkNoError if OK
6337 
6338  //! \Transform{inTransfo}
6340 
6341  //! \brief Translates the text giving a translation vector
6342  //! \param inTranslateDir the translation vector
6343  //! \return dtkNoError if OK
6344  void Translate(const Dtk_dir &inTranslationDir);
6345 
6347  const Dtk_bool& inProcessAddtionnalTexts,
6348  Dtk_Oriented2dBBox& outOuterBBox) const;
6349 };
6350 
6351 //! \ingroup draw
6352 //! \class Dtk_Symbol
6353 //! \brief This is the general symbol class.\n
6354 //! It's basically composed of Dtk_CompositeText and geometrical elements.
6355 //! \SmartPtr{Dtk_SymbolPtr}
6357 {
6358 public:
6359  enum TypeEnum {
6360  TypeUnknown = -1,
6361  TypeNote = 0,
6387  TypeArrow
6388  };
6389  static inline const Dtk_string TypeEnumToString(const TypeEnum& inEnum)
6390  {
6391  switch( inEnum )
6392  {
6393  case TypeNote: return L"TypeNote";
6394  case TypeDatum: return L"TypeDatum";
6395  case TypeBalloon: return L"TypeBalloon";
6396  case TypeDatumTarget: return L"TypeDatumTarget";
6397  case TypeRoughness: return L"TypeRoughness";
6398  case TypeDimension: return L"TypeDimension";
6399  case TypeFlagNote: return L"TypeFlagNote";
6400  case TypeGeometricalTolerance: return L"TypeGeometricalTolerance";
6401  case TypeAnnotationTable: return L"TypeAnnotationTable";
6402  case TypeCell: return L"TypeCell";
6403  case TypeTable: return L"TypeTable";
6404  case TypeCallout: return L"TypeCallout";
6405  case TypeWelding: return L"TypeWelding";
6406  case TypeCoordinateDimension: return L"TypeCoordinateDimension";
6407  case TypeGeom: return L"TypeGeom";
6408  case TypeAxis: return L"TypeAxis";
6409  case TypeAxisSystem: return L"TypeAxisSystem";
6410  case TypeCenterLine: return L"TypeCenterLine";
6411  case TypeCenterMark: return L"TypeCenterMark";
6412  case TypeGrid: return L"TypeGrid";
6413  case TypeHatching: return L"TypeHatching";
6414  case TypeFullBoltCircle: return L"TypeFullBoltCircle";
6415  case TypeCustomSymbol: return L"TypeCustomSymbol";
6416  case TypeHoleNote: return L"TypeHoleNote";
6417  case TypeUrl: return L"TypeUrl";
6418  case TypeArrow: return L"TypeArrow";
6419  default: return L"Unknown";
6420  }
6421  }
6422 
6423 protected:
6424  struct Dtk_Handle; // Not defined here
6425  Dtk_Handle *_Private; // Handle
6426  enum { _typeID = DTK_TYPE_SYMBOL };
6427 protected:
6428 
6429  //! \sa Create(const Dtk_Dimension &)
6430  Dtk_Symbol(const Dtk_Dimension &inToBeConverted,const Dtk_bool &inKeepLeaderAsLeader);
6431 
6432  //! \sa Create(const Dtk_Table &, const Dtk_bool &)
6433  Dtk_Symbol(Dtk_Table& inToBeConverted, const Dtk_bool& inTextAutoFlip = DTK_FALSE);
6434 
6435  //! \sa Create(const Dtk_GeometricalTolerance &, const Dtk_bool &)
6437  const Dtk_GeometricalTolerance& inToBeConverteds,
6438  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6439 
6440  //! \sa Create(const Dtk_Roughness &, const Dtk_bool &)
6442  const Dtk_Roughness &inToBeConverted,
6443  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6444 
6445  //! \sa Create(const Dtk_DatumTarget &, const Dtk_bool &)
6447  const Dtk_DatumTarget &inToBeConverted,
6448  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6449 
6450  //! \sa Create(const Dtk_Welding &, const Dtk_bool &)
6452  const Dtk_Welding &inToBeConverted,
6453  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6454  //! \sa Create( const Dtk_CompositeEntityPtr&, const Dtk_bool& inTextAutoFlip)
6456  const Dtk_CompositeEntity &inToBeConverted,
6457  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6458  //! \sa Create( const Dtk_GridPtr&, const Dtk_bool& )
6460  const Dtk_Grid &inGrid,
6461  const Dtk_bool &text_auto_flip = DTK_FALSE);
6462 
6463  //! \sa Create( const Dtk_Region&, const Dtk_bool& )
6464  Dtk_Symbol(const Dtk_Region &inRegion,
6465  const Dtk_bool &text_auto_flip);
6466 
6467  //! \sa Create()
6469 
6470  //! \sa Create(const Dtk_Symbol &)
6472  //! \sa Create( Dtk_Symbol&& )
6474 
6475  //! \BaseDestructor
6477  inline virtual Dtk_Object* Clone() { return new Dtk_Symbol(*this); }
6478 
6479  //! \DtkInternal
6481 
6482 private:
6483  void _Init();
6484  void _Reset();
6485  void _Copy(const Dtk_Symbol &s);
6486  friend class Dtk_SmartPtr<Dtk_Symbol>;
6487 public:
6488  //! \DtkDynamicType
6490 
6491  //! \DtkDynamicCast
6493 
6494  //! \CreateBase
6496 
6497  //! \CreateCopy{in}
6498  static Dtk_SymbolPtr Create( const Dtk_Symbol &in );
6499  //! \CreateMove{in}
6501 
6502  //! \brief Calls full featured constructor to allocate a new object.
6503  //! \param inLocation The symbol location point
6504  //! \param inLocationAnchorType The anchor type related to the location.
6505  //! \return the created Dtk_SymbolPtr
6507  const Dtk_pnt &inLocation,
6508  const Dtk_anchor_type &inLocationAnchorType);
6509 
6510  //! \brief Create from Dtk_DimensionPtr
6511  //! \param inToBeConverted Entity to be converted.
6512  //! \param inKeepLeaderAsLeader to keep the leader definition put the value DTK_TRUE.
6513  //! \return the created Dtk_SymbolPtr
6514  static Dtk_SymbolPtr Create( const Dtk_DimensionPtr &inToBeConverted ,
6515  const Dtk_bool &inKeepLeaderAsLeader = DTK_FALSE );
6516 
6517  //! \brief Create from Dtk_DatumTargetPtr
6518  //! \param inToBeConverted Entity to be converted.
6519  //! \param inTextAutoFlip For internal use only.
6520  //! \return the created Dtk_SymbolPtr
6522  const Dtk_DatumTargetPtr &inToBeConverted,
6523  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6524 
6525  //! \brief Create from Dtk_GeometricalTolerancePtr
6526  //! \param inToBeConverted Entity to be converted.
6527  //! \param inTextAutoFlip For internal use only.
6528  //! \return the created Dtk_SymbolPtr
6530  const Dtk_GeometricalTolerancePtr &inToBeConverted,
6531  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6532 
6533  //! \brief Create from Dtk_TablePtr
6534  //! \param inToBeConverted Entity to be converted.
6535  //! \param inTextAutoFlip For internal use only.
6536  //! \return the created Dtk_SymbolPtr
6538  const Dtk_TablePtr &inToBeConverted,
6539  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6540 
6541  //! \brief Create from Dtk_RoughnessPtr
6542  //! \param inToBeConverted Entity to be converted.
6543  //! \param inTextAutoFlip For internal use only.
6544  //! \return the created Dtk_SymbolPtr
6546  const Dtk_RoughnessPtr &inToBeConverted,
6547  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6548 
6549  //! \brief Create from Dtk_GridPtr
6550  //! \param inToBeConverted Entity to be converted.
6551  //! \param inTextAutoFlip For internal use only.
6552  //! \return the created Dtk_SymbolPtr
6554  const Dtk_GridPtr &inToBeConverted,
6555  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6556 
6557  //! \brief Create from Dtk_RegionPtr
6558  //! \param inToBeConverted Entity to be converted.
6559  //! \param inTextAutoFlip For internal use only.
6560  //! \return the created Dtk_SymbolPtr
6562  const Dtk_RegionPtr &inToBeConverted,
6563  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6564 
6565  //! \brief Create from Dtk_AnnotationPtr
6566  //! \param inToBeConverted Entity to be converted.
6567  //! \param inTextAutoFlip For internal use only.
6568  //! \return the created Dtk_SymbolPtr
6570  const Dtk_AnnotationPtr &inToBeConverted,
6571  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6572 
6573  //! \brief Create from Dtk_2dEntityPtr
6574  //! \param inToBeConverted Entity to be converted.
6575  //! \param inTextAutoFlip For internal use only - except for Dtk_Dimension -.
6576  //! \param inKeepLeaderAsLeader to keep the leader definition put the value DTK_TRUE - only for Dtk_Dimension -.
6577  //! \return the created Dtk_SymbolPtr
6579  const Dtk_2dEntityPtr &inToBeConverted,
6580  const Dtk_bool &inTextAutoFlip = DTK_FALSE,
6581  const Dtk_bool &inKeepLeaderAsLeader = DTK_FALSE );
6582 
6583  //! \brief Create from Dtk_WeldingPtr
6584  //! \param inToBeConverted Entity to be converted.
6585  //! \param inTextAutoFlip For internal use only.
6586  //! \return the created Dtk_SymbolPtr
6588  const Dtk_WeldingPtr &inToBeConverted,
6589  const Dtk_bool &inTextAutoFlip);
6590 
6591  //! \brief Create from Dtk_CompositeEntityPtr
6592  //! \param inToBeConverted Entity to be converted.
6593  //! \param inTextAutoFlip For internal use only.
6594  //! \return the created Dtk_SymbolPtr
6596  const Dtk_CompositeEntityPtr &inToBeConverted,
6597  const Dtk_bool &inTextAutoFlip);
6598 
6599  //! \AssignmentOp{in}
6601  //! \MoveOp{in}
6603 
6604  //! \brief Adds a geometrical element to the Dtk_Symbol.
6605  //! \param inGeomElt The geometrical element to be added.
6606  //! \return DtkNoError if OK.
6608 
6609  //! \brief Retrieves the geometrical elements number - read only -.
6610  //! \return The geometrical elements number.
6612 
6613  //! \brief Retrieves the ith geometrical element
6614  //! \param inPos The geoemtrical element index
6615  //! \return The inPos'th geometrical element.
6616  Dtk_EntityPtr GetGeomElement( const Dtk_Size_t &inPos ) const;
6617 
6618  //! \brief Converts all leaders into Dtk_Symbol into geometrical elements
6620 
6621  //! \brief Retrieves the Dtk_CompositeText included into the Dtk_Symbol - read only -.
6622  //! \return The Dtk_CompositeText.
6623  //! \sa Texts()
6624  const Dtk_CompositeText& Texts()const;
6625 
6626  //! \brief Retrieves the Dtk_CompositeText included into the Dtk_Symbol - get/set -.
6627  //! \return The Dtk_CompositeText.
6628  //! \sa Texts() const
6630 
6631  //! \brief Retrieves the Dtk_Symbol frame type - read only -.
6632  //! \return The frame type.
6633  //! \sa FrameType()
6635 
6636  //! \brief Set the Dtk_Symbol frame information - get/set -
6637  //! \return The Dtk_Symbol frame type
6638  //! \sa FrameType() const
6639  void SetFrameType( const Dtk_frame_type& inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements);
6640 
6641  //! \brief Retrieves the Frame - read only -
6642  //! \param outFrame The frame
6643  //! \sa FrameType() const
6644  void GetFrame(Dtk_Frame& outFrame) const;
6645 
6646  //! \brief Retrieves the Dtk_Symbol type - read only -.
6647  //! \return The Dtk_Symbol type.
6648  //! \sa SymbolType()
6649  const TypeEnum& SymbolType()const;
6650 
6651  //! \brief Retrieves the Dtk_Symbol type - get/set -.
6652  //! \return The Dtk_Symbol type.
6653  //! \sa SymbolType() const
6655 
6656  //! \brief Processes all the Dtk_Symbol anchor points.
6657  //! \param outTabPnts The resulting anchor point array.
6658  //! \return dtkNoError if OK
6660 
6661  //! \return The type of the entity type - DTK_TYPE_SYMBOL -
6663 
6664  //! \brief Sets the Dtk_Symbol anchor point.
6665  //! \param inNewLocation The new location point.
6666  //! \param inLocationAnchorType The anchor type related to the new location.
6667  //! \return dtkNoError if OK
6669  const Dtk_pnt &inNewLocation,
6670  const Dtk_anchor_type &inLocationAnchorType);
6671 
6672  //! \brief Sets the location point of the Dtk_Symbol
6673  //! \brief The location point is related to the anchor type
6674  //! \param inLocation the location point
6675  //! \return dtkNoError if OK
6676  Dtk_ErrorStatus SetLocation( const Dtk_pnt &inLocation );
6677 
6678  //! \brief Sets the offset of the Dtk_Symbol
6679  //! \brief The Offset is used to process bounding frames.
6680  //! \param inOffset The offset
6681  //! \return dtkNoError if OK
6682  //! \warning For internal use only
6684 
6685  //! \brief Sets the annotation angle using the annotation base.
6686  //! \param inRotationAngle The rotation angle to be set
6687  //! \return dtkNoError if OK
6688  Dtk_ErrorStatus SetRotationAngle( const Dtk_Double64 &inRotationAngle );
6689 
6690  //! \brief Processes Dtk_Symbol frame as geometrical elements/
6691  //! \return dtkNoError if OK
6693 
6694  //! \brief Merges texts and geometrical element of the given Dtk_Symbol into this Dtk_Symbol
6695  //! \param inSymbolToBeMerged Dtk_Symbol to be merged into.
6696  void MergeWithOtherSymbol(const Dtk_SymbolPtr &inSymbolToBeMerged);
6697 
6698  //! \Transform{inTransfo}
6700 
6701 };
6702 
6703 //! \ingroup draw
6704 //! \class Dtk_Drawing
6705 //! \brief This is the drawing class.\n
6706 //! It basically contains a Dtk_View array
6707 //! \SmartPtr{Dtk_DrawingPtr}
6708 class Dtk_Drawing : public Dtk_Entity
6709 {
6710 protected:
6711  struct Dtk_Handle; // Not defined here
6712  Dtk_Handle *_Private; // Handle
6713  enum {
6714  _typeID = DTK_TYPE_DRAWING
6715  };
6716 
6717 private:
6718 
6719  //! \sa Create(const Dtk_Drawing&)
6720  Dtk_Drawing(const Dtk_Drawing & in);
6721  //! \sa Create( Dtk_Drawing&& )
6723 
6724  //! \sa Create()
6725  Dtk_Drawing();
6726 
6727  //! \BaseDestructor
6728  ~Dtk_Drawing();
6729  inline virtual Dtk_Object* Clone() { return new Dtk_Drawing(*this); }
6730 
6731 private:
6732  void _Init();
6733  void _Copy(const Dtk_Drawing &s);
6734  void _Reset();
6735  friend class Dtk_SmartPtr<Dtk_Drawing>;
6736 
6737 public:
6738  //! \DtkDynamicType
6740 
6741  //! \DtkDynamicCast
6743 
6744  //! \CreateBase
6746 
6747  //! \CreateCopy{in}
6748  static Dtk_DrawingPtr Create(const Dtk_Drawing &in);
6749  //! \CreateMove{in}
6751 
6752  //! \return The type of the entity type - DTK_TYPE_DRAWING -
6754  {
6755  return DTK_TYPE_DRAWING;
6756  }
6757 
6758  //! \brief Adds a view into the drawing
6759  //! \param inViewtoBeAdded Dtk_View to be added.
6760  //! \return DtkNoError if OK
6761  Dtk_ErrorStatus AddView(const Dtk_ViewPtr &inViewtoBeAdded);
6762 
6763  //! \DtkInternal
6765 
6766  //! \brief Adds a view into the drawing
6767  //! \param inView Dtk_View to be added.
6768  //! \param inOrigin Origin of the view in the Dtk_Drawing.
6769  //! \return DtkNoError if OK
6770  Dtk_ErrorStatus AddView(const Dtk_ViewPtr& inView, const Dtk_pnt& inOrigin);
6771 
6772  //! \brief Retrieves the ith Dtk_View - get/set -.
6773  //! \param inPos View index.
6774  //! \return the inPos'th Dtk_View.
6775  //! \sa GetView(const Dtk_Size_t&) const
6777 
6778  //! \brief Retrieves the ith Dtk_View - read only -.
6779  //! \param inPos View index.
6780  //! \return the inPos'th Dtk_View.
6781  //! \sa GetView(const Dtk_Size_t&)
6782  const Dtk_ViewPtr& GetView(const Dtk_Size_t &inPos)const;
6783 
6784  //! \brief Retrieves the drawing width - get/set -.
6785  //! \return the drawing width.
6786  //! \sa Width() const
6788 
6789  //! \brief Retrieves the drawing width - read only -.
6790  //! \return the drawing width.
6791  //! \sa Width()
6792  const Dtk_Double64 &Width() const;
6793 
6794  //! \brief Retrieves the drawing height - get/set -.
6795  //! \return the drawing height.
6796  //! \sa Height() const
6798 
6799  //! \brief Retrieves the drawing height - read only -.
6800  //! \return the drawing height.
6801  //! \sa Height()
6802  const Dtk_Double64 &Height() const;
6803 
6804  //! \brief Retrieves the views number - read only -.
6805  //! \return The views number.
6807 
6808  //! \brief Retrieves the 2D entities number - read only -.
6809  //! \return The 2D entities number.
6810  SetAsDeprecated( "2025.4", "Please remove calls to this function, it will always return 0." )
6811  Dtk_Size_t GetNum2dEntities() const;
6812 
6813  //! \brief Retrieves the origin points number - read only -.
6814  //! \return The origin points number.
6815  Dtk_Size_t GetNumOrigins() const;
6816 
6817  //! \brief Retrieves the origin Dtk_pnt - get/set -.
6818  //! \param inPos origin Dtk_pnt index.
6819  //! \return the inPos'th origin Dtk_pnt.
6820  //! \sa GetOrigin(const Dtk_Size_t&) const
6821  Dtk_pnt& GetOrigin(const Dtk_Size_t &inPos);
6822 
6823  //! \brief Retrieves the ith origin Dtk_pnt - read only -.
6824  //! \param inPos origin Dtk_pnt index.
6825  //! \return the inPos'th origin Dtk_pnt.
6826  //! \sa GetOrigin(const Dtk_Size_t&)
6827  const Dtk_pnt& GetOrigin(const Dtk_Size_t &inPos) const;
6828 
6829  //! \brief Retrieves the 2D entity - get/set -.
6830  //! \param inPos 2D entity index.
6831  //! \return the inPos'th 2D entity.
6832  //! \sa Get2dEntity(const Dtk_Size_t&) const
6833  SetAsDeprecated( "2025.4", "Please remove calls to this function, it will always return a null object." )
6834  Dtk_2dEntityPtr& Get2dEntity(const Dtk_Size_t &inPos);
6835 
6836  //! \brief Retrieves the ith 2D entity - read only -.
6837  //! \param inPos 2D entity index.
6838  //! \return the inPos'th 2D entity.
6839  //! \sa Get2dEntity(const Dtk_Size_t&)
6840  SetAsDeprecated( "2025.4", "Please remove calls to this function, it will always return a null object." )
6841  const Dtk_2dEntityPtr& Get2dEntity(const Dtk_Size_t &inPos) const ;
6842 
6843  //! \Transform{inTransfo}
6845 };
6846 
6847 //! \ingroup draw
6848 //! \class Dtk_ViewDisplay
6849 //! \brief This is the Dtk_ViewDisplay class to set the Display mode for the bodies stored in a view.
6850 //! \SmartPtr{Dtk_ViewDisplayPtr}
6852 {
6853 public:
6855  {
6856  DefaultDisplay = 0,
6857  //! \image html WireframeDisplay.png
6858  WireframeDisplay = 1,
6859  //! \image html WithHiddenDisplay.png
6860  WithHiddenDisplay = 2,
6861  //! \image html NoHiddenDisplay.png
6862  NoHiddenDisplay = 3,
6863  //! \image html ShadingDisplay.png
6864  ShadingDisplay = 4,
6865  //! \image html ShadingWithEdgeDisplay.png
6866  ShadingWithEdgeDisplay = 5
6867  };
6868 
6869 protected:
6870  struct Dtk_Handle; // Not defined here
6871  Dtk_Handle *_Private; // Handle
6872  enum
6873  {
6874  _typeID = DTK_TYPE_VIEW_DISPLAY
6875  };
6876 
6877  //! \sa Create()
6879  //! \sa Create( const Dtk_View& )
6881  //! \sa Create( Dtk_View&& )
6883  //! \sa Create( DisplayMode3DEnum )
6885  inline virtual Dtk_Object* Clone()
6886  {
6887  return new Dtk_ViewDisplay( *this );
6888  }
6889  //! \BaseDestructor
6891 private:
6892  void _Init();
6893  void _Copy( const Dtk_ViewDisplay &s );
6894  void _Reset();
6895  friend class Dtk_SmartPtr<Dtk_ViewDisplay>;
6896 public:
6897  //! \DtkDynamicType
6899 
6900  //! \DtkDynamicCast
6902 
6903  //! \return The type of the entity type - DTK_TYPE_VIEW_DISPLAY -
6905  {
6906  return DTK_TYPE_VIEW_DISPLAY;
6907  }
6908 
6909  //! \CreateBase
6911 
6912  //! \CreateCopy{in}
6914  //! \CreateMove{in}
6916 
6917 
6918  //! \brief Return the Display Mode
6920 
6921  //! \brief Retrieves Line style for Visible Edges
6922  //! \param outLineFont Line Font - Solid, Dimmed, ...-
6923  //! \param outLineWidth Line Width in MM
6924  //! \param outLineColor Line Color
6925  //! \return dtkNoError if Success.
6926  Dtk_ErrorStatus GetVisibleEdgesLineStyle( Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor ) const;
6927 
6928  //! \brief Set Line style for Visible Edges
6929  //! \param inLineFont Line Font - Solid, Dimmed, ...-
6930  //! \param inLineWidth Line Width in MM
6931  //! \param inLineColor Line Color
6932  void SetVisibleEdgesLineStyle( Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor );
6933 
6934  //! \brief Retrieves Line style for Hidden Edges
6935  //! \param outLineFont Line Font - Solid, Dimmed, ...-
6936  //! \param outLineWidth Line Width in MM
6937  //! \param outLineColor Line Color
6938  //! \return dtkNoError if Success.
6939  Dtk_ErrorStatus GetHiddenEdgesLineStyle( Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor ) const;
6940 
6941  //! \brief Set Line style for Hidden Edges
6942  //! \param inLineFont Line Font - Solid, Dimmed, ...-
6943  //! \param inLineWidth Line Width in MM
6944  //! \param inLineColor Line Color
6945  void SetHiddenEdgesLineStyle( Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor );
6946 
6947  //! \brief Retrieves Line style for Tangent Edges
6948  //! \param outLineFont Line Font - Solid, Dimmed, ...-
6949  //! \param outLineWidth Line Width in MM
6950  //! \param outLineColor Line Color
6951  //! \return dtkNoError if Success.
6952  Dtk_ErrorStatus GetTangentEdgesLineStyle( Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor ) const;
6953 
6954  //! \brief Set Line style for Tangent Edges
6955  //! \param inLineFont Line Font - Solid, Dimmed, ...-
6956  //! \param inLineWidth Line Width in MM
6957  //! \param inLineColor Line Color
6958  void SetTangentEdgesLineStyle( Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor );
6959 
6960 
6961 };
6962 
6963 
6964 //! \ingroup draw
6965 //! \class Dtk_View
6966 //! \brief This class is used to represent a drawing view of a 3D model.
6967 //! It can also be used to represent parts of the drawing that are not a view of a 3D model, such as a title block.
6968 //! \SmartPtr{Dtk_ViewPtr}
6969 class Dtk_View : public Dtk_Entity
6970 {
6971 public:
6973  {
6974  // Unspecified view type.
6975  NoTypeView = 0,
6976  // View focused on a specific area of a model.
6977  DetailView = 1,
6978  // View representing a section of a model.
6979  SectionView = 2,
6980  // View showing a model with a portion removed to save space on the drawing.
6981  BrokenView = 4,
6982  // Dtk_View containing the title block area of a sheet.
6983  TitleBlockView = 8,
6984  // Dtk_View containing entities on sheet that are not related to any view of a 3D model.
6985  SheetView = 16
6986  };
6987 protected:
6988  struct Dtk_Handle; // Not defined here
6989  Dtk_Handle *_Private; // Handle
6990  enum {
6991  _typeID = DTK_TYPE_VIEW
6992  };
6993 
6994  //! \sa Create()
6996 
6997  //! \sa Create(const Dtk_View&)
6998  Dtk_View(const Dtk_View &s);
6999  //! \sa Create( Dtk_View&& )
7001  inline virtual Dtk_Object* Clone() { return new Dtk_View(*this); }
7002  //! \BaseDestructor
7004 private:
7005  void _Init();
7006  void _Copy(const Dtk_View &s);
7007  void _Reset();
7008  friend class Dtk_SmartPtr<Dtk_View>;
7009 public:
7010  //! \DtkDynamicType
7012 
7013  //! \DtkDynamicCast
7015 
7016  //! \return The type of the entity type - DTK_TYPE_VIEW -
7018  {
7019  return DTK_TYPE_VIEW;
7020  }
7021 
7022  //! \CreateBase
7024 
7025  //! \CreateCopy{in}
7026  static Dtk_ViewPtr Create(const Dtk_View &in);
7027  //! \CreateMove{in}
7028  static Dtk_ViewPtr Create( Dtk_View&& in );
7029 
7030  //! \brief Adds a 2D entity to the view
7031  //! \param in2DEntity 2D entity to be added.
7032  //! \return DtkNoError if OK.
7034 
7035  //! \brief Adds an array of 2D entities to the view
7036  //! \param in2DEntitiesArray Array of 2D entities to be added.
7037  //! \return DtkNoError if OK.
7039  const Dtk_tab<Dtk_2dEntityPtr> &in2DEntitiesArray);
7040 
7041  //! \brief Adds an entity, Dtk_Hatching, curve and point to the view ( other type are not supported )
7042  //! \param inEnt Entity to be added.
7043  //! \return DtkNoError if OK.
7045 
7046  //! \brief Adds an array of 2D entities, Dtk_Hatching, curve and point to the view ( other type are not supported )
7047  //! \param inEntitiesArray Array of entities to be added.
7048  //! \return DtkNoError if OK.
7050 
7051  //! \brief Retrieves the 2D entities number - read only -
7052  //! \returns The 2D entities number.
7054 
7055  //! \brief Retrieves the ith 2D entity.
7056  //! \param inPos 2D entity index.
7057  //! \return the inPos'th 2D entity.
7059 
7060  //! \brief Retrieves the ith 2D entity.
7061  //! \param inPos 2D entity index.
7062  //! \return the inPos'th 2D entity.
7063  //! \sa Get2dEntity(const Dtk_Size_t &)
7065 
7066  //! \return The ith clipping
7067  //! \param inPos clipping plane index.
7068  //! \return the inPos'th clipping plane.
7070 
7071  //! \return The clipping boundary
7072  //! \return the Dtk_CompositeEntityPtr which defines the boundary.
7074 
7075  //! \brief Adds a drawing geometrical entity to the view
7076  //! \param inGeomElt geometrical entity to be added.
7077  //! only Dtk_pnt and Dtk_Curve are allowed
7078  //! \return DtkNoError if OK.
7079  //! dtkErrorTypeNotsupported if entity isn't a Curve or a point
7081 
7082  //! \brief Retrieves the number of geometrical entity to the view
7083  //! \return size of the array
7085 
7086  //! \brief Retrieves the ith geometrical entity.
7087  //! \param inPos geometrical entity index.
7088  //! \return the inPos'th geometrical entity.
7090 
7091  //! \brief Adds a Body displayed in the view
7092  //! \param inBody Body to be displayed.
7093  //! \return DtkNoError if OK.
7095 
7096  //! \brief Adds an array of bodies displayed in the view
7097  //! \param inBodyArray Array of bodies to be displayed.
7098  //! \return DtkNoError if OK.
7100  Dtk_tab<Dtk_BodyPtr> inBodyArray);
7101 
7102  //! \brief Retrieves the bodies number to be dispalyed- read only -
7103  //! \returns The bodies number.
7105 
7106  //! \brief Retrieves the ith Body.
7107  //! \param inPos Body index.
7108  //! \return the inPos'th Body.
7109  Dtk_BodyPtr GetBody(const Dtk_Size_t &inPos) const;
7110 
7111 
7112  //! \brief SetDisplayMode for 3D entity to be displayed
7113  //! \param inDisplay Body index.
7115 
7116  //! \brief GetDisplayMode for 3D entity
7117  //! \returns The Display View.
7119 
7120  //! \brief Adds a picture to the view
7121  //! \param inPicture Picture to be added.
7122  //! \return dtkNoError if OK.
7124 
7125  //! \brief Adds an array of pictures to the view
7126  //! \param inPicturesArray Array of pictures to be added.
7127  //! \return dtkNoError if OK.
7129  const Dtk_tab<Dtk_picturePtr> &inPicturesArray );
7130 
7131  //! \brief Retrieves the pictures number - read only -
7132  //! \returns The pictures number.
7134 
7135  //! \brief Retrieves the ith Picture.
7136  //! \param inPos Picture index.
7137  //! \return the inPos'th Picture.
7138  Dtk_picturePtr GetPicture( const Dtk_Size_t &inPos ) const;
7139 
7140  //! \brief Adds a Dtk_OLEObjectPtr to the view
7141  //! \param inOLEObject Dtk_OLEObjectPtr to be added.
7142  //! \return dtkNoError if OK.
7144  //! \brief Adds an array of Dtk_OLEObjectPtr to the view
7145  //! \param inOleObjects Array of Dtk_OLEObjectPtr to be added.
7146  //! \return dtkNoError if OK.
7148  //! \brief Retrieves the number of OLE Objects in the Dtk_View.
7150  //! \brief Retrieves the OLE Object at index.
7151  Dtk_OLEObjectPtr GetOLEObject( const Dtk_Size_t & inIndex ) const;
7152 
7153 
7154  //! \brief Retrieves the Dtk_View scale - read only -.
7155  //! \returns The Dtk_View scale.
7156  //! \sa Scale()
7157  const Dtk_Double64& Scale() const;
7158 
7159  //! \brief Retrieves the Dtk_View scale - get/set-.
7160  //! \returns The Dtk_View scale.
7161  //! \sa Scale() const
7163 
7164  //! \brief Retrieves the Dtk_View angle - read only -.
7165  //! \returns The Dtk_View angle.
7166  //! \sa Angle()
7167  const Dtk_Double64& Angle() const;
7168 
7169  //! \brief Retrieves the Dtk_View angle - get/set-.
7170  //! \returns The Dtk_View angle.
7171  //! \sa Angle() const
7173 
7174  //! \brief Retrieves the Dtk_View transformation matrix - read only -.
7175  //! \returns The Dtk_View transformation matrix.
7176  //! \sa TransformationMatrix()
7178 
7179  //! \brief Retrieves the Dtk_View transformation matrix - get/set-.
7180  //! \returns The Dtk_View transformation matrix.
7181  //! \sa TransformationMatrix() const
7183 
7184  //! \brief Sets the ith clipping plane informations.
7185  //! \param inPos The clipping plane index.
7186  //! \param inLocation The clipping plane location.
7187  //! \param inRefAxis The clipping plane reference axis.
7188  //! \param inNormalAxis The clipping plane normal axis.
7189  //! \return DtkNoError if OK.
7191  const Dtk_pnt &inLocation,const Dtk_dir &inRefAxis,
7192  const Dtk_dir &inNormalAxis);
7193 
7194 
7195  //! \brief Sets the clipping boundary informations.
7196  void SetClippingBoundary(const Dtk_CompositeEntityPtr &inBoundary) const;
7197 
7198  //! \Transform{inTransfo}
7200 
7201  //! \brief Checks if the view is of a given type.
7202  bool IsView( ViewType typeView );
7203 
7204  //! \brief Set the view as being of a given type.
7205  void AddView( ViewType typeView );
7206 };
7207 
7208 
7209 //////////////////////////////////////////////////////////////////////////////////////////
7210 //FDT Classes
7211 //! \class Dtk_Fdt
7212 //! \brief This is the FD&T class.\n
7213 //! The base PMI Class contains a \DtkLinkToPtr{Dtk_2dEntity} and Transformation Matrix
7214 //! to locate the FDT into 3D Space.\n
7215 //! \SmartPtr{Dtk_FdtPtr}
7216 class Dtk_Fdt : public Dtk_Entity
7217 {
7218 public:
7220  { //! The annotation display isn't bound to the viewport.
7221  Default = 0,
7222  //! Keep the annotation facing the viewport - Rotate won't have effect on annotation display -. Pan/Zoom WILL have effect on annotation display.
7223  ParallelToScreen = 1,
7224  //! Keep the annotation facing the viewport - Rotate won't have effect on annotation display -. Pan and zoom also WON'T have effect on annotation display. Coordinates are screen ratio between 0.0 and 1.0, Origin at bottom left.
7225  PinToScreen = 2
7226  };
7228  {
7229  switch( inEnum )
7230  {
7231  default:
7232  case Default: return L"Default";
7233  case ParallelToScreen: return L"ParallelToScreen";
7234  case PinToScreen: return L"PinToScreen";
7235  }
7236  }
7237 protected:
7238  struct Dtk_Handle; // Not defined here
7239  Dtk_Handle *_Private; // Handle
7240  enum
7241  {
7242  _typeID = DTK_TYPE_FDT
7243  };
7244 
7245  //! \sa Create()
7247 
7248  //! \sa Create(const Dtk_Fdt &)
7249  Dtk_Fdt(const Dtk_Fdt &inToBeCopied );
7250  //! \sa Create(Dtk_Fdt&& )
7251  Dtk_Fdt( Dtk_Fdt&& inToBeMoved ) DTK_NOEXCEPT;
7252 
7253  //! \sa Create(const Dtk_transfo &, const Dtk_2dEntityPtr &)
7254  Dtk_Fdt(const Dtk_transfo &inTransforansform,
7255  const Dtk_2dEntityPtr &entity2D);
7256  inline virtual Dtk_Object* Clone() { return new Dtk_Fdt(*this); }
7257 
7258  //! \BaseDestructor
7259  virtual ~Dtk_Fdt();
7260 
7261 private:
7262  void _Init();
7263  void _Reset();
7264  void _Copy(const Dtk_Fdt &s);
7265  friend class Dtk_SmartPtr<Dtk_Fdt>;
7266 public:
7267  //! \DtkDynamicType
7269 
7270  //! \DtkDynamicCast
7272 
7273  //! \CreateBase
7274  static Dtk_FdtPtr Create();
7275 
7276  //! \CreateCopy{inToBeCopied}
7277  static Dtk_FdtPtr Create(const Dtk_Fdt &s);
7278  //! \CreateMove{inToBeMoved}
7279  static Dtk_FdtPtr Create( Dtk_Fdt&& inToBeMoved );
7280 
7281  //! \brief Calls full featured constructor to allocate a new object.
7282  //! \param inTransformationMatrix The Transformation Matrix
7283  //! \param inSub2DEntity The sub 2D entity
7284  static Dtk_FdtPtr Create(const Dtk_transfo &inTransformationMatrix,
7285  const Dtk_2dEntityPtr &inSub2DEntity);
7286 
7287  //! \return The type of the entity type - DTK_TYPE_FDT -
7289  {
7290  return DTK_TYPE_FDT;
7291  }
7292 
7293  //! \brief Sets the ScreenDisplay attribute of the Dtk_Fdt.
7294  //! \param inType The Dtk_Fdt ScreenDisplay attribute
7295  //! \sa SetScreenDisplayAttribute()
7297 
7298  //! \brief Gets the ScreenDisplay attribute of the Dtk_Fdt.
7299  //! \return The Dtk_Fdt ScreenDisplay attribute
7300  //! \sa GetScreenDisplayAttribute() const
7302 
7303  //! \brief Sets the DisplayBackground color id of the Dtk_Fdt.
7304  //! \param inData the color id
7305  //! \sa SetDisplayBackgroundColorId()
7307 
7308  //! \brief Gets the DisplayBackground color id of the Dtk_Fdt.
7309  //! \param outColorIdData : if present the color id >=0
7310  //! \return if present dtkNoError otherwise dtkErrorUnspecified
7311  //! \sa GetDisplayBackgroundColorId()
7313 
7314 
7315  //! \brief Sets the Zoomable attribute of the Dtk_Fdt.
7316  //! \param inBool The Dtk_Fdt zoomable attribute
7317  //! \sa SetIsZoomableAttribute() const
7318  //! \remark : by default fdt will be zoomable
7319  void SetIsZoomableAttribute( const bool &inBool );
7320 
7321  //! \brief Gets the Zoomable attribute of the Dtk_Fdt.
7322  //! \return The Dtk_Fdt Zoomable attribute
7323  //! \sa GetIsZoomableAttribute() const
7324  bool GetIsZoomableAttribute( ) const;
7325 
7326  //! \brief Retrieves the transformation matrix - read only -.
7327  //! \return The transformation matrix.
7328  //! \sa TransformationMatrix()
7330 
7331  //! \brief Retrieves the transformation matrix - get/set -.
7332  //! \return The transformation matrix.
7333  //! \sa TransformationMatrix() const
7335 
7336  //! \brief Retrieves the sub 2D entity - read only -.
7337  //! \return The sub 2D entity.
7338  //! \sa Sub2DEntity()
7340 
7341  //! \brief Retrieves the sub 2D entity - get/set -.
7342  //! \return The sub 2D entity.
7343  //! \sa Sub2DEntity() const
7345 
7346  //! \Transform{inTransfo}
7348 };
7349 
7350 
7351 //////////////////////////////////////////////////////////////////////////////////////////
7352 //! \class Dtk_Camera
7353 //! \brief This is the Camera class.\n This class lets you define elements to create frustum.\n
7354 //! \SmartPtr{Dtk_CameraPtr}
7355 //! \brief The camera can be parallel:
7356 //! \image html CameraParallelGlobal.png
7357 //! \brief ...or perspective:
7358 //! \image html CameraPerspectiveGlobal.png
7359 class Dtk_Camera : public Dtk_Entity
7360 {
7361 public:
7363  ProjectionTypeUnknown = 0,
7365  ProjectionTypePerspective
7366  };
7368  {
7369  NoZoomFit = 0, //The camera doesn't need to be zoom fitted.
7370  ZoomFitAllScene, //The camera needs to be zoom fitted to the entire scene.
7371  };
7372  protected:
7373  struct Dtk_Handle; // Not defined here
7374  Dtk_Handle *_Private; // Handle
7375  enum { _typeID = DTK_TYPE_CAMERA };
7376  //! \sa Create()
7378 
7379  //! \sa Create(const Dtk_Camera&)
7381  inline virtual Dtk_Object* Clone() { return new Dtk_Camera(*this); }
7382 
7383  //! \BaseDestructor
7385 private:
7386  void _Init();
7387  void _Copy(const Dtk_Camera &s);
7388  void _Reset();
7389  friend class Dtk_SmartPtr<Dtk_Camera>;
7390 public:
7391 
7392  //! \DtkDynamicType
7394 
7395  //! \DtkDynamicCast
7397 
7398  //! \return The type of the entity type - DTK_TYPE_CAMERA -
7400 
7401  //! \CreateBase
7403 
7404  //! \deprecated Use Create( const Dtk_pnt& inOriginPoint,
7405  //! const Dtk_pnt& inTarget,
7406  //! const Dtk_dir& inUpVector,
7407  //! const Dtk_Double64 inSemiWidth,
7408  //! const Dtk_Double64 inSemiHeight,
7409  //! const ProjectionTypeEnum& inProjectionType,
7410  //! const ZoomFitModeEnum inZoomFitMode) method instead.
7411  //! \brief Calls full featured constructor to allocate a new object.
7412  //! \param inOriginPoint The Dtk_Camera location point
7413  //! \param inTarget The Target vector
7414  //! \param inUpVector The Up vector
7415  //! \param inAngle The angle - in Degrees - - will be used to process Semi-Width/Semi-Height -
7416  //! \param inFocus The focus - This value will be ignored -
7417  //! \param inZoomFactor The zoom factor - 1.0 by default - - This value will be ignored -
7418  //! \param inProjectionType The projection type - ProjectionTypeParallel by default -
7419  //! \param inZoomFitMode The Zoom Fit Mode - NoZoomFit by default -
7420  //! \return The created Dtk_CameraPtr
7422  const Dtk_pnt& inOriginPoint,
7423  const Dtk_pnt& inTarget,
7424  const Dtk_dir& inUpVector,
7425  const double& inAngle,
7426  const double& inFocus,
7427  const double& inZoomFactor = 1.0,
7428  const ProjectionTypeEnum inProjectionType = ProjectionTypeParallel,
7429  const ZoomFitModeEnum inZoomFitMode = NoZoomFit );
7430 
7431  //! \brief Calls full featured constructor to allocate a new object.
7432  //! \param inOriginPoint The Dtk_Camera location point
7433  //! \param inTarget The Target vector
7434  //! \param inSemiWidth Semi-Width of the Pyramid/Block Camera Frustum - in mm -
7435  //! \param inSemiHeight Semi-Height of the Pyramid/Block Camera Frustum - in mm -
7436  //! \param inUpVector The Up vector
7437  //! \param inProjectionType The projection type - ProjectionTypeParallel by default -
7438  //! \param inZoomFitMode The Zoom Fit Mode - NoZoomFit by default -
7439  //! \return The created Dtk_CameraPtr
7441  const Dtk_pnt& inOriginPoint,
7442  const Dtk_pnt& inTarget,
7443  const Dtk_Double64 inSemiWidth,
7444  const Dtk_Double64 inSemiHeight,
7445  const Dtk_dir& inUpVector,
7446  const ProjectionTypeEnum inProjectionType = ProjectionTypeParallel,
7447  const ZoomFitModeEnum inZoomFitMode = NoZoomFit );
7448 
7449  //! \Transform{inTransfo}
7450  //! \return dtkErrorUnspecified if the resulting Dtk_Camera is not valid, DtkNoError otherwise.
7452 
7453  //! \brief Retrieves the origin point - read only -
7454  //! \return The origin point
7455  const Dtk_pnt& OriginPoint() const;
7456 
7457  //! \brief Retrieves the target point - read only -
7458  //! \return The target point
7459  const Dtk_pnt& TargetPoint() const;
7460 
7461  //! \brief Retrieves the up vector - read only -
7462  //! \return The up vector
7463  const Dtk_dir& UpVector() const;
7464 
7465  //! \brief Processes the Focus Distance ie the Distance between the Origin and the Target points - read only -
7466  //! \return The Focus Distance in mm.
7468 
7469  //! \brief Retrieves the Camera Base Semi Width - read only -
7470  //! \return The Base Width in mm.
7472 
7473  //! \brief Retrieves the Camera Base Semi Height - read only -
7474  //! \return The Base Height in mm.
7476 
7477  //! \brief Retrieves the projection type - read only -
7478  //! \return The projection type
7480 
7481  //! \brief Retrieves the zoom fit mode - read only -
7482  //! \return The zoom fit mode
7484 
7485  //! \brief Processes the X - along width - zoom factor - read only -
7486  //! \return The X zoom factor, 0.0 if Dtk_Camera is not valid.
7487  //! \remark The X Zoom Factor is equal to 1. / GetSemiWidth()
7488  //! \remark The X Zoom Factor is relevant for Parallel Camera.
7489  Dtk_Double64 ProcessXZoomFactor() const { return IsValid() ? ( 1. / GetSemiWidth() ) : 0.; }
7490 
7491  //! \brief Processes the Y - along height - zoom factor - read only -
7492  //! \return The Y zoom factor, 0.0 if Dtk_Camera is not valid.
7493  //! \remark The Y Zoom Factor is equal to 1. / GetSemiHeight()
7494  //! \remark The Y Zoom Factor is relevant for Parallel Camera.
7495  Dtk_Double64 ProcessYZoomFactor() const { return IsValid() ? ( 1. / GetSemiHeight() ) : 0.; }
7496 
7497  //! \brief Processes the X - along width - Semi Angle - read only -
7498  //! \image html CameraXSemiAngle.png
7499  //! \return The X Semi-Angle in Radians, 0.0 if Dtk_Camera is not valid.
7500  //! \remark The X Semi-Angle is equal to atan( GetSemiWidth() / GetFocusDistance() )
7501  //! \remark The X Semi-Angle is relevant for Perspective Camera.
7502  inline Dtk_Double64 ProcessXSemiAngle() const { return IsValid() ? ( atan( GetSemiWidth() / GetFocusDistance() ) ) : 0.; }
7503 
7504  //! \brief Processes the Y - along height - Semi Angle - read only -
7505  //! \image html CameraYSemiAngle.png
7506  //! \return The Y Semi-Angle in Radians, 0.0 if Dtk_Camera is not valid.
7507  //! \remark The Y Semi-Angle is equal to atan( GetSemiHeight() / GetFocusDistance() )
7508  //! \remark The Y Semi-Angle is relevant for Perspective Camera.
7509  inline Dtk_Double64 ProcessYSemiAngle() const { return IsValid() ? ( atan( GetSemiHeight() / GetFocusDistance() ) ) : 0.; }
7510 
7511  //! \deprecated Use TargetPoint() const method instead.
7512  //! \brief Retrieves the target vector - read only -
7513  //! \return The target vector
7515 
7516  //! \deprecated Use ProcessXSemiAngle() const or ProcessYSemiAngle() const methods instead.
7517  //! \sa ProcessXSemiAngle() const
7518  //! \return The X Semi angle in Degrees, 0.0 if Dtk_Camera is not valid.
7519  //! \return The angle
7520  inline Dtk_Double64 Angle() const { return ProcessXSemiAngle() * 180. / DTK_PI; }
7521 
7522  //! \deprecated Use ProcessXZoomFactor() const or ProcessYZoomFactor() const methods instead.
7523  //! \sa ProcessXZoomFactor() const, 0.0 if Dtk_Camera is not valid.
7524  //! \brief Processes the X - width - zoom factor - read only -
7525  //! \return The X zoom factor
7526  inline Dtk_Double64 ZoomFactor() const { return ProcessXZoomFactor(); }
7527 
7528  //! \deprecated This method has been superseed by GetFocusDistance() const method.
7529  //! \sa GetFocusDistance() const
7530  inline Dtk_Double64 Focus() const { return GetFocusDistance(); }
7531 
7532  //! \brief Checks if the Dtk_Camera is valid. For this:
7533  //! - The Focus Distance must be >= DTK_TOLERANCE.
7534  //! - The Semi-Width must be >= DTK_TOLERANCE.
7535  //! - The Semi-Height must be >= DTK_TOLERANCE.
7536  //! \return DTK_TRUE if the Dtk_Camera is valid, DTK_FALSE otherwise.
7537  inline Dtk_bool IsValid() const
7538  {
7539  if( GetFocusDistance() < DTK_TOLERANCE ||
7540  GetSemiWidth() < DTK_TOLERANCE ||
7541  GetSemiHeight() < DTK_TOLERANCE )
7542  {
7543  return DTK_FALSE;
7544  }
7545  else
7546  {
7547  return DTK_TRUE;
7548  }
7549  }
7550 
7551  //! \brief set the Front Clipping Distance et Back Clipping Distance
7552  void SetClippingDistance(const Dtk_Double64& inFrontDistance ,const Dtk_Double64& inBackDistance ) const;
7553 
7554  //! \brief get the Front Clipping Distance et Back Clipping Distance
7555  void GetClippingDistance( Dtk_Double64& outFrontDistance, Dtk_Double64& outBackDistance ) const;
7556 
7557 };
7558 
7559 
7560 
7561 typedef enum
7562 {
7568 
7569 
7570 //! \class Dtk_HatchingPattern
7571 //! \brief This is the Hatching Pattern class. This describes a repetition of lines/dots or coloring. It includes line style and colors as well.
7573 {
7574 public :
7575 
7583 
7584  //! \BaseConstructor
7586  {
7587  this->_angle = 0.0;
7588  this->_line_style = 0;
7589  this->_line_width = 0.0;
7590  this->_offset = 0.0;
7591  this->_style = (Dtk_HatchingStyle) 0;
7592  this->_pitch = 0.0;
7593 
7594  }
7595 
7596  //! \CopyConstructor{in}
7598  {
7599  this->_angle = in._angle;
7600  this->_color = in._color;
7601  this->_line_style = in._line_style;
7602  this->_line_width = in._line_width;
7603  this->_offset = in._offset;
7604  this->_style = in._style;
7605  this->_pitch = in._pitch;
7606  }
7607 
7608  //! \AssignmentOp{in}
7610  {
7611  if (&in!=this)
7612  {
7613  this->_angle = in._angle;
7614  this->_color = in._color;
7615  this->_line_style = in._line_style;
7616  this->_line_width = in._line_width;
7617  this->_offset = in._offset;
7618  this->_pitch = in._pitch;
7619  this->_style = in._style;
7620  }
7621  return *this;
7622  }
7623 
7624 
7625 
7633 
7634  //! \brief Retrieves the hatching style, one of the following : hatching, coloring or dotting.
7635  //! \return The hatching style : Dtk_HatchingStyle_Hatching, Dtk_HatchingStyle_Coloring or Dtk_HatchingStyle_Dotting
7636  //! \image html DtkHatchingStyles.png
7638 
7639  //! \brief Retrieves the position start offset along the hatch line. Applies for hatching and dotting.
7640  //! \return The first position offset along the hatch line
7641  const Dtk_Double64 & Offset () const;
7642  //! \brief Retrieves the position offset perpendicular to the hatch line (or dot). Applies for hatching and dotting.
7643  //! \return The position offset perpendicular to the hatch line
7644  //! \image html DtkHatchingPitch.png
7645  const Dtk_Double64 & Pitch () const;
7646  //! \brief Retrieves the angle between horizontal line and hatch line (or dot). Applies for hatching and dotting.
7647  //! \return The angle between horizontal line and hatch line
7648  //! \image html DtkHatchingAngle.png
7649  const Dtk_Double64 & Angle () const;
7650  //! \brief Retrieves the color of the pattern element.
7651  //! \return The color of the pattern element.
7652  const Dtk_RGB & Color () const;
7653  //! \brief Retrieves the hatch line type. Applies for hatching. The value can be casted to enum ::Dtk_FontLineType
7654  //! Returns one of the following values :
7655  //! \sa 0 : No Pattern
7656  //! \sa 1 : ________________________________ Solid
7657  //! \sa 2 : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Dash
7658  //! \sa 3 : ________ _ _ _________ _ _ _____ Phantom
7659  //! \sa 4 : ________ _ _________ _ _________ Center Line
7660  //! \sa 5 : ................................ Dotted
7661  //! \sa 6 : ___ ___ ___ ___ ___ ___ ___ ___ Long Dashed
7662  //! \sa 7 : ___ . ___ . ___ . ___ . ___ . __ Dotted Dashed
7663  //! \sa 8 : --'\,-----'\,-----'\,-----'\,--- Breakline
7664  const Dtk_Int32 & LineType () const;
7665  //! \brief Retrieves the hatch line width. Applies for hatching.
7666  //! \return The hatch line width
7667  const Dtk_Double64 & LineWidth () const;
7668 
7669 };
7670 
7671 //! \class Dtk_Boundary
7672 //! \brief This is the Boundary class.
7673 //! The boundary defines the curves that delimit a closed area.
7674 class Dtk_Boundary : public Dtk_Object
7675 {
7676 protected:
7677  struct Dtk_Handle; // Not defined here
7678  Dtk_Handle *_Private; // Handle
7679  enum
7680  {
7681  _typeID = DTK_TYPE_BOUNDARY
7682  };
7683 
7684 public:
7685 
7686  //! \brief Construct a boundary provided both its exact representation as curves, as well as a simplified representation as a polyline.
7687  //! \details It is expected that both definitions match, that is to say they represent the same geometry.
7688  //! In case the simplified representation isn't provided, it will be computed based on the exact representation by calling Dtk_Curve::ToPolyline.
7689  //! \param[in] exactRepresentation : a contiguous sequence of curves representing the exact definition of the boundary.
7690  //! \param[in] simplifiedRepresentation : a single polyline representing the boundary.
7692  Dtk_PolylinePtr simplifiedRepresentation );
7693 
7694  //! \CopyConstructor{in}
7696  //! \MoveConstructor{in}
7698 
7699  //! \BaseDestructor
7701 
7702  //! \DtkDynamicType
7704 
7705  //! \DtkDynamicCast
7707 
7709 
7710  //! \AssignmentOp{in}
7712  //! \MoveOp{in}
7714 
7715  //! \Transform{inTransfo}
7717 
7718  //! \brief Retrieves all curves linked together that makes a boundary.
7719  //! \return An array of curves, all linked together with ordering.
7721  //! \brief Retrieves a simplified representation of the boundary as a polyline.
7722  //! Useful for simple display.
7723  //! \return The simplified polyline representation of the boundary.
7725 };
7726 
7727 //! \class Dtk_Hatching
7728 //! \brief This is the Hatching class.
7729 //! The hatching fills a closed area delimited by boundaries.
7730 //! The first boundary is the outer bounday, following boundaries are inner boundaries.
7731 //! A hatching area can include several ::Dtk_HatchingPattern patterns (repetition of decorated/styled lines, dots or simple solid coloring).
7732 //! \image html DtkHatching.png
7733 //! \SmartPtr{Dtk_HatchingPtr}
7734 class Dtk_Hatching : public Dtk_Entity
7735 {
7736 protected:
7737  struct Dtk_Handle; // Not defined here
7738  Dtk_Handle *_Private; // Handle
7739  enum {
7740  _typeID = DTK_TYPE_HATCHING
7741  };
7742  //! \sa Create()
7744 
7746 
7747  //! \BaseDestructor
7749 
7750  inline virtual Dtk_Object* Clone() { return new Dtk_Hatching(*this); }
7751 
7752 private:
7753  void _Init();
7754  void _Copy(const Dtk_Hatching &s);
7755  void _Reset();
7756  friend class Dtk_SmartPtr<Dtk_Hatching>;
7757  void __GeneratePatternGeometries( const Dtk_HatchingPattern& inHatchingPattern, const Dtk_Oriented2dBBox& BoundariesBBox, Dtk_tab< Dtk_EntityPtr >& inoutResultEntities );
7758 public:
7759 
7760 
7761  //! \DtkDynamicType
7763 
7764  //! \DtkDynamicCast
7766 
7767  //! \CreateBase
7769 
7771 
7772  //! \AssignmentOp{in}
7774 
7775  //! \Transform{inTransfo}
7777 
7778  //! \brief Retrieves the hatching area boundaries as a span. The first boundary is the outer boundary.
7779  //! \warning If returned span is empty, please use Dtk_tab<Dtk_PolylinePtr> &Boundaries() to retrieve boundaries.
7780  //! \return The boundaries
7781  //! \see dtk::Span
7783 
7784  //! \brief Adds a boundary to the hatching area.
7785  //! \param boundary The boundary to add.
7786  void AddBoundary( Dtk_Boundary boundary );
7787 
7788  //! \brief Retrieves the hatching area boundaries as an array (of ordered polylines). The first boundary (this->Boundaries[0]) is the outer boundary.
7789  //! \return The boundaries
7791 
7792  //! \brief Retrieves the hatching area patterns. Patterns describes hatch line presentations (angle, pitch etc...)
7793  //! \return The patterns as Dtk_HatchingPattern objects
7795 
7796  //! \brief Specify if applying transform also scales pattern data. Not active by default.
7797  //! \param inApply Boolean denoting if scale shall be applied on pattern data - true by default -.
7798  void SetApplyScaleOnPattern( bool inApply = true );
7799 
7800  //! \brief Generate Pattern geometries from Dtk_Hatching.
7801  //! \param inXRefDir X reference vector - (1,0,0) by default -.
7802  //! \param inNormalDir Normal vector - (0,0,1) by default -.
7803  //! \return The generated geometries as Dtk_tab< Dtk_EntityPtr >
7804  //! \remark At this moment, we only handle hatching patterns - no point/fill pattern -.
7805  Dtk_tab< Dtk_EntityPtr > GeneratePatternGeometries(const Dtk_dir& inXRefDir = Dtk_dir(1., 0., 0.), const Dtk_dir& inNormalDir = Dtk_dir(0., 0., 1.) );
7806 };
7807 
7808 
7809 //! \ingroup draw
7810 //! \class Dtk_CompositeEntity
7811 //! \brief This is the Dtk_CompositeEntity class.
7812 //! \SmartPtr{Dtk_CompositeEntityPtr}
7814 {
7815 protected:
7816  struct Dtk_Handle; // Not defined here
7817  Dtk_Handle *_Private; // Handle
7818  enum {
7819  _typeID = DTK_TYPE_COMPOSITE_ENTITY
7820  };
7821 
7822  //! \sa Create()
7824 
7825  //! \sa Create(const Dtk_CompositeEntity&)
7827  //! \sa Create( Dtk_CompositeEntity&& )
7829 
7830  inline virtual Dtk_Object* Clone() { return new Dtk_CompositeEntity(*this); }
7831  //! \BaseDestructor
7833 private:
7834  void _Init();
7835  void _Copy(const Dtk_CompositeEntity &s);
7836  void _Reset();
7837  friend class Dtk_SmartPtr<Dtk_CompositeEntity>;
7838 public:
7839  //! Resets all sub entities
7840  void Clear();
7841 
7842  //! \DtkDynamicType
7844 
7845  //! \DtkDynamicCast
7847 
7848  //! \return The type of the entity type - DTK_TYPE_VIEW -
7850  {
7852  }
7853 
7854  //! \CreateBase
7856 
7857  //! \CreateCopy{in}
7859  //! \CreateMove{in}
7861 
7862  //! \brief Adds a Dtk_EntityPtr to the Dtk_CompositeEntity
7863  //! For that, it will check if the Dtk_EntityPtr is not NULL and if it has a handled type.\n
7864  //! The handled types are Dtk_CurvePtr / Dtk_PointPtr / Dtk_2dEntityPtr / Dtk_HatchingPtr.
7865  //! \param inElt The Dtk_EntityPtr to be added.
7866  //! \return DtkNoError if OK.
7867  //! \return dtkErrorNullPointer if inElt.IsNULL().
7868  //! \return dtkErrorTypeNotsupported if the entity type is not supported.
7870 
7871  //! \brief Adds an array of Dtk_EntityPtr.
7872  //! Calls Dtk_CompositeEntity::AddEntity for each elements.
7873  //! \param inEltArray Array of Dtk_EntityPtr to be added.
7874  //! \return DtkNoError if OK.
7875  void AddEntities(const Dtk_tab<Dtk_EntityPtr>& inEltArray);
7876 
7877  //! \brief Adds a Dtk_picturePtr to the Dtk_CompositeEntity
7878  //! For that, it will check if the Dtk_picturePtr is not NULL.
7879  //! \param inElt The Dtk_picturePtr to be added.
7880  //! \return DtkNoError if OK.
7881  //! \return dtkErrorNullPointer if inElt.IsNULL().
7883 
7884  //! \brief Adds an array of Dtk_EntityPtr.
7885  //! Calls Dtk_CompositeEntity::AddPicture for each elements.
7886  //! \param inEltArray Array of Dtk_picturePtr to be added.
7887  //! \return DtkNoError if OK.
7888  void AddPictures( const Dtk_tab<Dtk_picturePtr>& inEltArray );
7889 
7890  //! \brief Retrieves the number of Dtk_EntityPtr in Dtk_CompositeEntity
7891  //! \return size of the array
7893 
7894  //! \brief Retrieves the ith Dtk_EntityPtr.
7895  //! \param inPos Dtk_EntityPtr index.
7896  //! \return the inPos'th Dtk_EntityPtr.
7897  Dtk_EntityPtr GetEntity( const Dtk_Size_t& inPos ) const;
7898 
7899  //! \brief Retrieves the number of Dtk_picturePtr in Dtk_CompositeEntity
7900  //! \return size of the array
7902 
7903  //! \brief Retrieves the ith Dtk_picturePtr.
7904  //! \param inPos Dtk_picturePtr index.
7905  //! \return the inPos'th Dtk_picturePtr.
7906  Dtk_picturePtr GetPicture( const Dtk_Size_t& inPos ) const;
7907 
7909  Dtk_tab< Dtk_2dEntityPtr >& out2dEntities,
7910  Dtk_tab< Dtk_EntityPtr >& outGeometricalEntities,
7911  Dtk_tab< Dtk_picturePtr >& outPictures ) const;
7912  //! \Transform{inTransfo}
7914 };
7915 
7916 
7917 //! \class Dtk_Region
7918 //! \brief This is the Region class.
7919 //! The region that designates areas of your model for special purposes, such as an area affected by a datum target.
7920 //! The region can contain a hatching pattern and boundaries that are stored as geometries.
7921 //! <P> <B> Types of regions: </B> </P>
7922 //! <P> Here are different region types with their specificities </P>
7923 //! \image html Dtk_Region.png
7924 //! \SmartPtr{Dtk_RegionPtr}
7926 {
7927 public:
7929  {
7935  UnknownType
7936  };
7937 protected:
7938  struct Dtk_Handle; // Not defined here
7939  Dtk_Handle *_Private; // Handle
7940  enum
7941  {
7942  _typeID = DTK_TYPE_REGION
7943  };
7944  //! \sa Create(RegionType, Dtk_HatchingPattern&, Dtk_tab< Dtk_EntityPtr > )
7946  Dtk_HatchingPattern &inHatchingPattern,
7947  Dtk_tab< Dtk_EntityPtr > inGeometries);
7948 
7950 
7951  //! \BaseDestructor
7953 
7954  inline virtual Dtk_Object* Clone() { return new Dtk_Region(*this); }
7955 
7956 private:
7957  void _Init();
7958  void _Copy(const Dtk_Region &s);
7959  void _Reset();
7960  friend class Dtk_SmartPtr<Dtk_Region>;
7961 public:
7962 
7963 
7964  //! \DtkDynamicType
7966 
7967  //! \DtkDynamicCast
7969 
7970  //! \brief Calls full featured constructor to allocate a new object.
7972  Dtk_HatchingPattern &inHatchingPattern,
7973  Dtk_tab< Dtk_EntityPtr > inGeometries);
7974 
7976 
7977  //! \AssignmentOp{in}
7979 
7980  //! \Transform{inTransfo}
7982 
7983  //! \brief Retrieves the Dtk_Region boundaries as geometries.
7984  //! \return Dtk_Region boundaries as geometries.
7986 
7987  //! \brief Processes all the Dtk_Annotation anchor points.
7988  //! \param outTabPnts The resulting anchor point array.
7989  //! \return dtkNoError if OK
7991  Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
7992 
7993  //! \brief Sets the Dtk_Annotation anchor point.
7994  //! \param inNewLocation The new location point.
7995  //! \param inLocationAnchorType The anchor type related to the new location.
7996  //! \return dtkNoError if OK
7998  const Dtk_anchor_type &inLocationAnchorType);
7999 
8000  //! \brief Sets the location point of the Dtk_Annotation
8001  //! \brief The location point is related to the anchor type
8002  //! \param inLocation the location point
8003  //! \return dtkNoError if OK
8005 
8006  //! \brief Sets the offset of the Dtk_Annotation
8007  //! \brief The Offset is used to process bounding frames.
8008  //! \param inOffset The offset
8009  //! \return dtkNoError if OK
8011 
8012  //! \brief Gets the type of the region
8013  //! \return the type of region
8015 
8016  //! \brief Sets the width of the rectangular Dtk_Region
8017  //! \brief This is a semantic information (will not modify geometries)
8018  //! \param inWidth The width
8019  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a rectangular region
8021 
8022  //! \brief Gets the width of the rectangular Dtk_Region
8023  //! \brief This is a semantic information (will not modify geometries)
8024  //! \param outWidth The width
8025  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a rectangular region
8027 
8028  //! \brief Sets the height of the rectangular Dtk_Region
8029  //! \brief This is a semantic information (will not modify geometries)
8030  //! \param inWidth The height
8031  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a rectangular region
8033 
8034  //! \brief Gets the height of the rectangular Dtk_Region
8035  //! \brief This is a semantic information (will not modify geometries)
8036  //! \param outWidth The height
8037  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a rectangular region
8039 
8040  //! \brief Sets the diameter of the circular Dtk_Region
8041  //! \brief This is a semantic information (will not modify geometries)
8042  //! \param inDiameter The diameter
8043  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a circular region
8045 
8046  //! \brief Gets the diameter of the circular Dtk_Region
8047  //! \brief This is a semantic information (will not modify geometries)
8048  //! \param outDiameter The diameter
8049  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a circular region
8051 
8052  //! \brief Sets the outer diameter of the annular Dtk_Region
8053  //! \brief This is a semantic information (will not modify geometries)
8054  //! \param inDiameter The outer diameter
8055  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a annular region
8057 
8058  //! \brief Gets the outer diameter of the annular Dtk_Region
8059  //! \brief This is a semantic information (will not modify geometries)
8060  //! \param outDiameter The outer diameter
8061  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a annular region
8063 
8064  //! \brief Sets the inner diameter of the annular Dtk_Region
8065  //! \brief This is a semantic information (will not modify geometries)
8066  //! \param inDiameter The inner diameter
8067  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a annular region
8069 
8070  //! \brief Gets the inner diameter of the annular Dtk_Region
8071  //! \brief This is a semantic information (will not modify geometries)
8072  //! \param outDiameter The inner diameter
8073  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a annular region
8075 
8076  //! \brief Gets Hatching Pattern of the region Dtk_Region
8077  //! \brief This is a semantic information (will not modify geometries)
8078  //! \return the hatching patter if available
8080 
8081 
8082 };
8083 
8084 
8085 #endif
Dtk_OneCell::_BorderTopColor
Dtk_RGB _BorderTopColor
Definition: util_draw_dtk.hpp:4056
Dtk_Leader::LeaderTerminatorTypeEnumToString
static Dtk_string LeaderTerminatorTypeEnumToString(const LeaderTerminatorTypeEnum &inEnum)
Definition: util_draw_dtk.hpp:2012
Dtk_FCFFeatureIndicator::Clear
void Clear()
Definition: util_draw_dtk.hpp:5954
DTK_ALIGN_CENTER
@ DTK_ALIGN_CENTER
Definition: util_draw_dtk.hpp:110
Dtk_DatumTarget::GetDatumTargetMovableStatusRelatedGeom
Dtk_tab< Dtk_CurvePtr > & GetDatumTargetMovableStatusRelatedGeom() const
Gets the geometry related to the Movable status of the Dtk_DatumTarget.
Dtk_Welding::SymbolFoldJointWeld
@ SymbolFoldJointWeld
Definition: util_draw_dtk.hpp:2997
Dtk_OneCell::DtkDynamicCast
static Dtk_OneCell * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_OneCell::_AdditionnalGeometries
Dtk_tab< Dtk_EntityPtr > _AdditionnalGeometries
Added geometries for Dtk_OneCell.
Definition: util_draw_dtk.hpp:4072
Dtk_Font::FontTypeEnum
FontTypeEnum
Definition: util_draw_dtk.hpp:183
Dtk_Dimension::Create
static Dtk_DimensionPtr Create(const Dtk_Dimension &in)
Calls copy constructor to allocate a new object.
DTK_ALIGN_JUSTIFIED
@ DTK_ALIGN_JUSTIFIED
Definition: util_draw_dtk.hpp:112
Dtk_Symbol::TypeHatching
@ TypeHatching
Definition: util_draw_dtk.hpp:6382
Dtk_ToleranceSpecificationContainer::Dtk_ToleranceSpecificationContainer
Dtk_ToleranceSpecificationContainer(const TypeEnum &inTolSpecContType, const Dtk_Oriented2dBBox &inInnerTolTypeBBox, const Dtk_Oriented2dBBox &inOuterTolTypeBBox)
Dtk_Welding::GetArrowSideWeldSymbolText
Dtk_CompositeText GetArrowSideWeldSymbolText() const
Retrieves the ArrowSideWeldSymbolText Dtk_CompositeText.
Dtk_Dimension::LinearDiameterDimension
@ LinearDiameterDimension
Definition: util_draw_dtk.hpp:4729
Dtk_Camera::UpVector
const Dtk_dir & UpVector() const
Retrieves the up vector - read only -.
Dtk_Hatching::Boundaries
Dtk_tab< Dtk_PolylinePtr > & Boundaries()
Retrieves the hatching area boundaries as an array (of ordered polylines). The first boundary (this->...
Dtk_OneCell::_text
Dtk_CompositeText _text
Definition: util_draw_dtk.hpp:4045
Dtk_TextStyle::Ratio
Dtk_Double64 & Ratio()
Retrieves the text ratio - get/set -.
Dtk_Symbol::TypeWelding
@ TypeWelding
Definition: util_draw_dtk.hpp:6373
Dtk_OneCell::Dtk_OneCell
Dtk_OneCell(Dtk_OneCell &&in) DTK_NOEXCEPT
Move constructor.
Dtk_Grid::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Welding::FinishSymbolEnum
FinishSymbolEnum
Definition: util_draw_dtk.hpp:3089
Dtk_OneCell::_BorderBottomBlanked
Dtk_Int32 _BorderBottomBlanked
Definition: util_draw_dtk.hpp:4066
Dtk_CompositeEntity::GetAllEntitiesByType
void GetAllEntitiesByType(Dtk_tab< Dtk_2dEntityPtr > &out2dEntities, Dtk_tab< Dtk_EntityPtr > &outGeometricalEntities, Dtk_tab< Dtk_picturePtr > &outPictures) const
Dtk_Leader::ApplicationZone
This is the application zone class. It is used to gather all application zone information.
Definition: util_draw_dtk.hpp:1824
Dtk_View::AddBody
Dtk_ErrorStatus AddBody(const Dtk_BodyPtr &inBody)
Adds a Body displayed in the view.
Dtk_ToleranceSpecificationContainer::Dtk_ToleranceSpecificationContainer
Dtk_ToleranceSpecificationContainer(Dtk_ToleranceSpecificationContainer &&s) DTK_NOEXCEPT
Dtk_ToleranceSpecificationContainer::TopTextAsCompositeText
const Dtk_CompositeText & TopTextAsCompositeText() const
Retrieves the Dtk_ToleranceSpecificationContainer top-text as Dtk_CompositeText - read only -.
Dtk_ToleranceSpecification::FirstReference
Dtk_ReferenceBlockPtr & FirstReference()
Retrieves the first reference block - get/set -. This is a shortcut without using Dtk_ReferenceFrame ...
Dtk_2dEntity::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_TextStyle::JustificationCenter
@ JustificationCenter
Definition: util_draw_dtk.hpp:291
Dtk_Roughness::SetMiddleLeftText
Dtk_ErrorStatus SetMiddleLeftText(Dtk_Text inText)
Sets the middle-left text.
Dtk_GeometricalTolerance::operator=
Dtk_GeometricalTolerance & operator=(Dtk_GeometricalTolerance &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_ReferenceFrame::DtkDynamicCast
static Dtk_ReferenceFrame * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_ToleranceSpecification::Create
static Dtk_ToleranceSpecificationPtr Create()
Calls default constructor to allocate a new object.
Dtk_ReferenceBlock::SetAnchorPoint
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.
Dtk_ReferenceBlock::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_ToleranceSpecificationContainer::SetRightText
Dtk_ErrorStatus SetRightText(Dtk_CompositeText inText)
Sets the Dtk_ToleranceSpecificationContainer right-text.
Dtk_Leader::GetApplicationZone
void GetApplicationZone(Dtk_Leader::ApplicationZone &outApplicationZone) const
Retrieves the Frame - read only -.
Dtk_Text::ExplodeText
Dtk_Text * ExplodeText(Dtk_Int32 **outNumFontArray, Dtk_Int32 &outNumTexts) const
Explodes the Dtk_Text to other Dtk_Text according the IGES font number.
Dtk_Leader::SetLeaderCurveLineType
void SetLeaderCurveLineType(const Dtk_FontLineType inCurveLineType)
Set the leader curve FontLineType .
Dtk_Drawing::Height
Dtk_Double64 & Height()
Retrieves the drawing height - get/set -.
Dtk_Leader::_CommonLinearCtor
void _CommonLinearCtor(const Dtk_Double64 &inWidth, const Dtk_Double64 &inHeight, const Dtk_pnt &inArrowLocation, const LeaderTerminatorTypeEnum &inTerminatorType, const Dtk_tab< Dtk_pnt > &inPntsArray)
Dtk_View::GetNumPictures
Dtk_Size_t GetNumPictures() const
Retrieves the pictures number - read only -.
Dtk_Roughness::SetInvertText
void SetInvertText(Dtk_Int32 inValue=DTK_FALSE)
Sets text are invert.
Dtk_Camera::IsValid
Dtk_bool IsValid() const
Checks if the Dtk_Camera is valid. For this:
Definition: util_draw_dtk.hpp:7537
Dtk_Oriented2dBBox::GetXLength
Dtk_Double64 GetXLength() const
Retrieves the X length - Read Only -.
Definition: util_draw_dtk.hpp:616
Dtk_CompositeEntity::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
DTK_UNIT_INCH
@ DTK_UNIT_INCH
Definition: util_draw_dtk.hpp:80
Dtk_Grid::WCS
@ WCS
Definition: util_draw_dtk.hpp:4502
Dtk_Text::OuterLocation
Dtk_pnt & OuterLocation()
Retrieves the outer bounding box location - get/set -.
Dtk_Region::GetType
RegionType GetType()
Gets the type of the region.
Dtk_Symbol::SymbolType
const TypeEnum & SymbolType() const
Retrieves the Dtk_Symbol type - read only -.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_Grid &inGrid, const Dtk_bool &text_auto_flip=DTK_FALSE)
Dtk_Region::CircularType
@ CircularType
Definition: util_draw_dtk.hpp:7931
Dtk_Annotation::Clone
virtual Dtk_Object * Clone()=0
Dtk_Roughness::Create
static Dtk_RoughnessPtr Create(Dtk_Roughness &&in)
Calls move constructor to allocate a new object.
Dtk_2dEntity::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:1743
Dtk_Text::SetOuterXYAxis
void SetOuterXYAxis(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis)
Sets the outer bounding box orientation.
Dtk_Welding::ComplementarySymbolFlushFinishedWeld
@ ComplementarySymbolFlushFinishedWeld
Definition: util_draw_dtk.hpp:3054
Dtk_HatchingPattern::LineType
Dtk_Int32 & LineType()
Dtk_Font::Name
Dtk_string & Name()
Retrieves the font name - get/set -.
Dtk_ToleranceSpecification::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:5309
Dtk_CompositeText::SetInnerXYAxis
Dtk_ErrorStatus SetInnerXYAxis(const Dtk_dir &inXaxis, const Dtk_dir &inYaxis)
Sets the inner bounding box X and Y axes for the Dtk_CompositeText and included Dtk_Texts.
Dtk_Hatching::Dtk_Hatching
Dtk_Hatching(const Dtk_Hatching &s)
DTK_FDT_MODIFIER_NOT_SET
@ DTK_FDT_MODIFIER_NOT_SET
Definition: util_draw_dtk.hpp:55
Dtk_Dimension::CumulatedDimension
@ CumulatedDimension
Definition: util_draw_dtk.hpp:4735
Dtk_Text::SetFrameType
void SetFrameType(const Dtk_frame_type &inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements)
Set the text frame information - get/set -.
DTK_FRAME_TYPE_DIAMOND
@ DTK_FRAME_TYPE_DIAMOND
Definition: util_draw_dtk.hpp:135
Dtk_Oriented2dBBox::GetTopRightPoint
Dtk_pnt GetTopRightPoint() const
Retrieves the top right point - Read Only -.
Definition: util_draw_dtk.hpp:609
Dtk_transfo
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
Dtk_HatchingPattern::Dtk_HatchingPattern
Dtk_HatchingPattern()
Default constructor.
Definition: util_draw_dtk.hpp:7585
Dtk_FCFFeatureIndicator::Create
static Dtk_FCFFeatureIndicatorPtr Create(Dtk_FCFFeatureIndicatorType inFeatureIndicatorType, Dtk_Text inSymbol, Dtk_Text inDatumFeatureIdentifier)
Calls full featured constructor to allocate a new object.
Definition: util_draw_dtk.hpp:5982
Dtk_Region::SetRectangularWidth
Dtk_ErrorStatus SetRectangularWidth(Dtk_Double64 inWidth)
Sets the width of the rectangular Dtk_Region.
Dtk_ToleranceSpecificationContainer::BottomTextAsCompositeText
const Dtk_CompositeText & BottomTextAsCompositeText() const
Retrieves the Dtk_ToleranceSpecificationContainer bottom-text as Dtk_CompositeText - read only -.
Dtk_GeometricalTolerance::at
const Dtk_ToleranceSpecificationContainerPtr & at(const Dtk_Size_t &inPos) const
Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -.
Dtk_DatumTarget::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_DatumTarget anchor points.
Dtk_Welding::SymbolInclinedJointWeld
@ SymbolInclinedJointWeld
Definition: util_draw_dtk.hpp:2991
Dtk_ToleranceSpecificationContainer::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType, const Dtk_bool &inProcessAdditionnalTexts)
Sets the Dtk_ToleranceSpecificationContainer anchor point.
Dtk_Drawing::Create
static Dtk_DrawingPtr Create()
Calls default constructor to allocate a new object.
Dtk_Table::operator[]
Dtk_OneCell * operator[](const Dtk_Size_t &inPos)
Dtk_Roughness::ApplyToSurroundingSurfaces
@ ApplyToSurroundingSurfaces
Definition: util_draw_dtk.hpp:2570
Dtk_Region
This is the Region class. The region that designates areas of your model for special purposes,...
Definition: util_draw_dtk.hpp:7926
Dtk_Text::TextStyle
Dtk_TextStyle & TextStyle()
Retrieves the text text style - get/set -.
Dtk_Table::DtkDynamicCast
static Dtk_Table * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
DTK_TYPE_GEOM_TOL
@ DTK_TYPE_GEOM_TOL
Definition: define.h:430
Dtk_DatumTarget::DatumTargetTypeEnum
DatumTargetTypeEnum
Definition: util_draw_dtk.hpp:3696
Dtk_CompositeEntity::Create
static Dtk_CompositeEntityPtr Create()
Calls default constructor to allocate a new object.
Dtk_ReferenceFrame::ThirdReference
Dtk_ReferenceBlockPtr & ThirdReference()
Retrieves the third reference block - get/set -.
DTK_UNIT_CM
@ DTK_UNIT_CM
Definition: util_draw_dtk.hpp:77
Dtk_ToleranceSpecificationContainer::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:6089
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_GridPtr &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Create from Dtk_GridPtr.
Dtk_Fdt::SetDisplayBackgroundColorId
void SetDisplayBackgroundColorId(Dtk_Int32 inData)
Sets the DisplayBackground color id of the Dtk_Fdt.
Dtk_Text::IsEmpty
Dtk_bool IsEmpty() const
Tells if the Dtk_Text is empty or not - read only -.
Dtk_Frame::operator=
Dtk_Frame & operator=(Dtk_Frame &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_Camera::ZoomFactor
Dtk_Double64 ZoomFactor() const
Processes the X - width - zoom factor - read only -.
Definition: util_draw_dtk.hpp:7526
Dtk_Welding::SetFieldWeldFlag
void SetFieldWeldFlag(const Dtk_bool inFieldWeldFlag)
Sets the Field Weld Flag.
Dtk_Region::GetGeometries
Dtk_tab< Dtk_EntityPtr > GetGeometries() const
Retrieves the Dtk_Region boundaries as geometries.
Dtk_Annotation
This is abstract Dtk_Annotation class.
Definition: util_draw_dtk.hpp:2398
Dtk_Leader::ApplicationZone::_ApplicationZoneType
ApplicationZoneEnum _ApplicationZoneType
Definition: util_draw_dtk.hpp:1843
DTK_FRAME_TYPE_FLAG_LEFT
@ DTK_FRAME_TYPE_FLAG_LEFT
Definition: util_draw_dtk.hpp:141
Dtk_FCFFeatureIndicator::Explode
Dtk_ErrorStatus Explode(Dtk_CompositeText &outText, Dtk_tab< Dtk_CurvePtr > &outGeomsArray) const
Explodes the Dtk_FCFFeatureIndicator into Dtk_CompositeText and geometrical elements - used for Dtk_S...
Dtk_Oriented2dBBox::SetXLocalVector
void SetXLocalVector(const Dtk_dir &inNewXVector)
Sets the X local vector.
Definition: util_draw_dtk.hpp:644
Dtk_OneCell::SetBorderRightBlanked
void SetBorderRightBlanked(const Dtk_Int32 &inBorderRightBlanked)
Sets BorderRightBlanked of Right border.
Dtk_Leader::Dtk_Leader
Dtk_Leader(const Dtk_Double64 &inWidth, const Dtk_Double64 &inHeight, const Dtk_pnt &inArrowLocation, const Dtk_Double64 &inRadius, const LeaderTerminatorTypeEnum &inTerminatorType, const Dtk_pnt &inEndingPnt, const Dtk_pnt &inCenterPnt, const Dtk_bool &IsCounterClockwise)
DTK_FRAME_TYPE_SQUARE_CIRCLE
@ DTK_FRAME_TYPE_SQUARE_CIRCLE
Definition: util_draw_dtk.hpp:169
Dtk_Dimension::ShowDualValueFractional
@ ShowDualValueFractional
Definition: util_draw_dtk.hpp:4754
Dtk_HatchingPattern::_offset
Dtk_Double64 _offset
Definition: util_draw_dtk.hpp:7577
Dtk_Region::ArbitraryType
@ ArbitraryType
Definition: util_draw_dtk.hpp:7934
Dtk_ViewDisplay::SetTangentEdgesLineStyle
void SetTangentEdgesLineStyle(Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor)
Set Line style for Tangent Edges.
Dtk_Welding::SetArrowSideData
void SetArrowSideData(const WeldingSymbolEnum inWeldingSymbol, Dtk_Text inNumWeldsText, Dtk_Text inAngleText, const ComplementarySymbolEnum inContourSymbol, Dtk_Text inFinishSymbolText, Dtk_Text inSizeText, Dtk_Text inLengthText, Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries)
Sets the Dtk_Welding ArrowSide Data.
Dtk_Boundary::get_type_detk
type_detk get_type_detk() const
Dtk_Leader::TerminatorTypeDoubleCrossArrow
@ TerminatorTypeDoubleCrossArrow
Definition: util_draw_dtk.hpp:2009
Dtk_Table::nbRows
Dtk_Size_t nbRows
Number of lines.
Definition: util_draw_dtk.hpp:4286
Dtk_Oriented2dBBox::SetBottomLeftPoint
void SetBottomLeftPoint(const Dtk_pnt &inNewPoint)
Sets the bottom left point.
Dtk_Welding::AddAssociatedGeometries
void AddAssociatedGeometries(Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries)
Add Geometries associated to whole Dtk_Welding (Weld body and tail).
Dtk_Welding::GetFinishSymbolArrowSideAsText
Dtk_Text GetFinishSymbolArrowSideAsText() const
Dtk_Oriented2dBBox::ProcessIntersectionWithSegment
Dtk_Int32 ProcessIntersectionWithSegment(const Dtk_pnt &inPntA, const Dtk_pnt &inPntB, Dtk_pnt &outIntersectionPnt1, Dtk_pnt &outIntersectionPnt2, const Dtk_bool &inTestComplanarity=DTK_FALSE) const
Processes intersection points with a segment giving its ends.
Dtk_Drawing::AddView
Dtk_ErrorStatus AddView(const Dtk_ViewPtr &inViewtoBeAdded)
Adds a view into the drawing.
Dtk_View::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:7017
Dtk_FCFFeatureIndicator::Create
static Dtk_FCFFeatureIndicatorPtr Create(const Dtk_FCFFeatureIndicator &in)
Calls copy constructor to allocate a new object.
Definition: util_draw_dtk.hpp:5967
Dtk_Leader::ArrowHead::GetType
const LeaderTerminatorTypeEnum GetType() const
Definition: util_draw_dtk.hpp:2125
Dtk_Table::Cell_Line
Dtk_Size_t & Cell_Line(const Dtk_Size_t inPos)
Sets the number of cells of the (i)th line.
Dtk_Oriented2dBBox::GetMiddleLeftPoint
Dtk_pnt GetMiddleLeftPoint() const
Retrieves the middle left point - Read Only -.
Definition: util_draw_dtk.hpp:557
Dtk_Symbol::GetGeomElement
Dtk_EntityPtr GetGeomElement(const Dtk_Size_t &inPos) const
Retrieves the ith geometrical element.
Dtk_FCFFeatureIndicatorType::Dtk_FCFFeatureIndicatorType
Dtk_FCFFeatureIndicatorType()
Default constructor.
Definition: util_draw_dtk.hpp:5791
Dtk_ReferenceFrame::operator=
Dtk_ReferenceFrame & operator=(const Dtk_ReferenceFrame &in)
Copy assignment operator.
Dtk_TextStyle::Justification
TextJustificationEnum & Justification()
Retrieves the text justification - get/set -.
Dtk_Welding::GetBrazingArrowSide
Dtk_bool GetBrazingArrowSide() const
Tells if the Brazing is activated for the ArrowSide.
dtk_dir.hpp
Dtk_ReferenceFrame::SecondReference
Dtk_ReferenceBlockPtr & SecondReference()
Retrieves the second reference block - get/set -.
Dtk_TextStyle::AttributeUnderline
@ AttributeUnderline
Definition: util_draw_dtk.hpp:277
Dtk_ToleranceSpecificationContainer::AddToleranceSpecification
Dtk_ErrorStatus AddToleranceSpecification(const Dtk_ToleranceSpecificationPtr &inTolSpec)
Adds a tolerance specification to the Dtk_ToleranceSpecificationContainer.
Dtk_TextStyle::FontStyleEnumToString
static Dtk_string FontStyleEnumToString(const FontStyleEnum &inEnum)
Definition: util_draw_dtk.hpp:262
Dtk_dir::norm
double norm() const
Dtk_Camera::SetClippingDistance
void SetClippingDistance(const Dtk_Double64 &inFrontDistance, const Dtk_Double64 &inBackDistance) const
set the Front Clipping Distance et Back Clipping Distance
Dtk_FCFFeatureIndicator::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:5923
Dtk_Symbol::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_Symbol.
Dtk_Camera::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:7373
DTK_TYPE_DIMENSION
@ DTK_TYPE_DIMENSION
Definition: define.h:431
Dtk_View::AddEntity
Dtk_ErrorStatus AddEntity(const Dtk_EntityPtr &inEnt)
Adds an entity, Dtk_Hatching, curve and point to the view ( other type are not supported )
Dtk_CompositeText::SetAsDeprecated
SetAsDeprecated("Undefined", "Use GetOuterBoundingBox") Dtk_ErrorStatus GetOuterAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_CompositeText outer anchor points.
Dtk_Text::TextSubType
DTK_Text_subtype & TextSubType()
Retrieves the text subtype - get/set -.
Dtk_Dimension
This is the general dimension.
Definition: util_draw_dtk.hpp:4717
Dtk_ToleranceSpecificationContainer::GetRightTextLabel
Dtk_string GetRightTextLabel() const
Retrieves the Dtk_ToleranceSpecificationContainer right-text - read only -.
Dtk_ViewDisplay::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:6885
Dtk_Boundary::Dtk_Boundary
Dtk_Boundary(const Dtk_Boundary &in)
Copy constructor.
Dtk_ToleranceSpecificationContainer::~Dtk_ToleranceSpecificationContainer
~Dtk_ToleranceSpecificationContainer()
Destructor.
Dtk_TextStyle::JustificationLeft
@ JustificationLeft
Definition: util_draw_dtk.hpp:289
Dtk_Welding::DtkDynamicCast
static Dtk_Welding * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Roughness::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_Annotation.
Dtk_FCFFeatureIndicator::GetDatumFeatureIdentifier
const Dtk_Text & GetDatumFeatureIdentifier() const
Retrieves the DatumFeature Identifier of the Dtk_FCFFeatureIndicator - Read Only -.
Dtk_FCFFeatureIndicatorType::_Reset
void _Reset()
Dtk_ReferenceFrame::Dtk_ReferenceFrame
Dtk_ReferenceFrame(Dtk_ReferenceFrame &&s) DTK_NOEXCEPT
Dtk_GeometricalTolerance::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_GeometricalTolerance anchor points.
Dtk_Roughness::operator=
Dtk_Roughness & operator=(const Dtk_Roughness &in)
Copy assignment operator.
DTK_TOLERANCE
#define DTK_TOLERANCE
Definition: str_def.h:7
DTK_WITH_HIERARCHY
@ DTK_WITH_HIERARCHY
Definition: util_draw_dtk.hpp:65
Dtk_FCFFeatureIndicatorType::Dtk_FCFFeatureIndicatorType
Dtk_FCFFeatureIndicatorType(const Dtk_FCFFeatureIndicatorTypeEnum &inIndicatorType, const Dtk_Oriented2dBBox &inOuterBoundingBox, Dtk_tab< Dtk_CurvePtr > inRelatedGeometricalElts)
Full featured constructor.
Definition: util_draw_dtk.hpp:5781
Dtk_Annotation::SetAsDeprecated
SetAsDeprecated("Undefined", "Use Dtk_TextStyle::Justification()") Dtk_justication_type GetJustification() const
Get the justification type - read only -.
Dtk_GeometricalTolerance::SetFrameColor
void SetFrameColor(const Dtk_RGB &inFrameColor)
Sets the frame color .
Dtk_FCFFeatureIndicator::Create
static Dtk_FCFFeatureIndicatorPtr Create(Dtk_FCFFeatureIndicator &&in)
Calls move constructor to allocate a new object.
Definition: util_draw_dtk.hpp:5972
Dtk_ToleranceSpecificationContainer::Dtk_ToleranceSpecificationContainer
Dtk_ToleranceSpecificationContainer(const Dtk_ToleranceSpecificationContainer &s)
Dtk_OneCell::SetBorderRightColor
void SetBorderRightColor(const Dtk_RGB &inBorderRightColor)
Dtk_Leader::TerminatorTypeCrossArrow
@ TerminatorTypeCrossArrow
Definition: util_draw_dtk.hpp:1965
Dtk_Grid::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_Annotation.
Dtk_DatumTarget::Create
static Dtk_DatumTargetPtr Create(Dtk_DatumTarget &&in)
Calls move constructor to allocate a new object.
Dtk_ViewDisplay::Create
static Dtk_ViewDisplayPtr Create(Dtk_ViewDisplay &&in)
Calls move constructor to allocate a new object.
Dtk_CompositeText::GetNumTexts
Dtk_Size_t GetNumTexts() const
Retrieves the texts number.
Dtk_Text::Reverse
Dtk_ErrorStatus Reverse()
Reverses the text The text anchor type is replaced by the opposed one and the text orientation is rev...
DTK_FRAME_TYPE_FLAG_BOTH
@ DTK_FRAME_TYPE_FLAG_BOTH
Definition: util_draw_dtk.hpp:143
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_DatumTarget &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Dtk_Oriented2dBBox::SetBottomCenterPoint
void SetBottomCenterPoint(const Dtk_pnt &inNewPoint)
Sets the bottom center point.
Dtk_Table::getNbrows
Dtk_Size_t getNbrows()
Gets the number of rows in Dtk_Table.
DTK_FRAME_TYPE_STICKING
@ DTK_FRAME_TYPE_STICKING
Definition: util_draw_dtk.hpp:152
Dtk_ToleranceSpecificationContainer::RightTextAsCompositeText
const Dtk_CompositeText & RightTextAsCompositeText() const
Retrieves the Dtk_ToleranceSpecificationContainer right-text as Dtk_CompositeText - read only -.
Dtk_DatumTarget::GetFrame
const Dtk_Frame & GetFrame() const
Retrieves the frame of the Datum Target.
Dtk_ReferenceBlock::ConvertToDtk_String
Dtk_string ConvertToDtk_String() const
Converts the Dtk_ReferenceBlock into a Dtk_string - used for Dtk_Symbol conversion -.
Dtk_ToleranceSpecification::Create
static Dtk_ToleranceSpecificationPtr Create(const Dtk_ToleranceSpecification &in)
Calls copy constructor to allocate a new object.
Dtk_ToleranceSpecification::~Dtk_ToleranceSpecification
~Dtk_ToleranceSpecification()
Destructor.
Dtk_ReferenceBlock::operator=
Dtk_ReferenceBlock & operator=(Dtk_ReferenceBlock &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_ToleranceSpecificationContainer::SetBottomText
Dtk_ErrorStatus SetBottomText(Dtk_CompositeText text)
Sets the Dtk_ToleranceSpecificationContainer bottom-text.
DTK_FRAME_TYPE_FIXED_SUPPORT
@ DTK_FRAME_TYPE_FIXED_SUPPORT
Definition: util_draw_dtk.hpp:156
Dtk_Text::GetOuterBoundingBox
Dtk_Oriented2dBBox & GetOuterBoundingBox()
Dtk_Welding::FinishSymbolHammer
@ FinishSymbolHammer
Definition: util_draw_dtk.hpp:3098
Dtk_HatchingPattern::LineWidth
Dtk_Double64 & LineWidth()
Dtk_Text::SetOuterXLength
void SetOuterXLength(const Dtk_Double64 &inXLength)
Sets the outer bounding box X length.
Dtk_TextStyle
This is the text_style. This class gathers information about text style.
Definition: util_draw_dtk.hpp:250
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol()
Dtk_TextStyle::Justification
const TextJustificationEnum & Justification() const
Retrieves the text justification - read only -.
Dtk_Oriented2dBBox::XLocalVector
Dtk_dir & XLocalVector()
Retrieves the X local vector.
Definition: util_draw_dtk.hpp:733
DTK_TYPE_CELL
@ DTK_TYPE_CELL
Definition: define.h:432
DTK_Text_subtype::IsUrl
Dtk_bool IsUrl() const
Tell if the associated Dtk_text is an url group - into Dtk_Dimension -.
Dtk_ReferenceBlock::GetMaterialModifier
DTK_FDT_MODIFIER GetMaterialModifier(const Dtk_Size_t &inReferencePos) const
Retrieves the material modifier related to the ith reference.
Dtk_Font::ID
const Dtk_Size_t & ID() const
Retrieves the font Id - read only -.
Dtk_DatumTarget::DatumTargetValueEnumToString
static Dtk_string DatumTargetValueEnumToString(const DatumTargetValueEnum &inEnum)
Definition: util_draw_dtk.hpp:3755
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_RegionPtr &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Create from Dtk_RegionPtr.
Dtk_Table::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:4423
DTK_JUSTIFY_LEFT
@ DTK_JUSTIFY_LEFT
Definition: util_draw_dtk.hpp:117
Dtk_Symbol::TypeAxis
@ TypeAxis
Definition: util_draw_dtk.hpp:6376
DTK_TYPE_ANNOTATION
@ DTK_TYPE_ANNOTATION
Definition: define.h:427
config.hpp
Dtk_Dimension::GetNumLeaders
Dtk_Size_t GetNumLeaders() const
Retrieves the leaders number - read only -.
Dtk_Oriented2dBBox::Merge
void Merge(const Dtk_pnt &inPoint)
Merges the Dtk_Oriented2dBBox to an additional point.
DTK_FDT_MODIFIER_LEAST_MATERIAL
@ DTK_FDT_MODIFIER_LEAST_MATERIAL
Definition: util_draw_dtk.hpp:57
Dtk_Grid::OriginReferenceOption
OriginReferenceOption
Definition: util_draw_dtk.hpp:4500
DTK_FRAME_TYPE_POLYGON
@ DTK_FRAME_TYPE_POLYGON
Definition: util_draw_dtk.hpp:172
Dtk_OneCell::nbCells_Left_Right
Dtk_Int32 nbCells_Left_Right
Number of adjacent cells to the left or right.
Definition: util_draw_dtk.hpp:4049
Dtk_Welding::SetBrazingOtherSide
void SetBrazingOtherSide(const Dtk_bool inBrazing=DTK_TRUE)
Sets the Brazing flag for the OtherSide.
Dtk_Boundary::operator=
Dtk_Boundary & operator=(const Dtk_Boundary &in)
Copy assignment operator.
Dtk_Welding::SetOtherSideOpeningText
void SetOtherSideOpeningText(Dtk_CompositeText inOtherSideOpeningText)
Sets the OtherSideOpeningText Dtk_CompositeText.
Dtk_Welding::SetArrowSideWeldSymbolText
void SetArrowSideWeldSymbolText(Dtk_CompositeText inArrowSideWeldSymbolText)
Sets the ArrowSideWeldSymbolText Dtk_CompositeText.
Dtk_Text::HorizontalMirroring
@ HorizontalMirroring
Definition: util_draw_dtk.hpp:1114
Dtk_Text::SetInnerBoundingBox
Dtk_ErrorStatus SetInnerBoundingBox(const Dtk_Oriented2dBBox &innerBoundingBox)
Sets the inner bounding box.
Dtk_Welding::SymbolPlugWeld
@ SymbolPlugWeld
Definition: util_draw_dtk.hpp:2961
Dtk_ViewDisplay
This is the Dtk_ViewDisplay class to set the Display mode for the bodies stored in a view.
Definition: util_draw_dtk.hpp:6852
Dtk_Table::~Dtk_Table
~Dtk_Table()
Destructor.
Dtk_Welding::GetArrowSideOpeningText
Dtk_CompositeText GetArrowSideOpeningText() const
Retrieves the ArrowSideOpeningText Dtk_CompositeText.
Dtk_Leader::TerminatorTypeDoubleTriangle
@ TerminatorTypeDoubleTriangle
Definition: util_draw_dtk.hpp:1999
Dtk_Roughness::ProcessSymbolInfos
void ProcessSymbolInfos(Dtk_tab< Dtk_pnt > &outPnts, Dtk_Double64 &outCircleRadius) const
Process the Roughness Symbol Informations as shown in the picture below.
Dtk_Symbol::TypeGeometricalTolerance
@ TypeGeometricalTolerance
Definition: util_draw_dtk.hpp:6368
Dtk_HatchingStyle_Hatching
@ Dtk_HatchingStyle_Hatching
Definition: util_draw_dtk.hpp:7564
Dtk_Region::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:7938
Dtk_Leader::ArrowHead::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
Translates the ApplicationZone giving a translation vector.
Definition: util_draw_dtk.hpp:2149
Dtk_Welding
This is the Welding Symbol class.
Definition: util_draw_dtk.hpp:2932
Dtk_ReferenceFrame::SecondReference
const Dtk_ReferenceBlockPtr & SecondReference() const
Retrieves the second reference block - read only -.
Dtk_2dEntity::Clone
virtual Dtk_Object * Clone()=0
Dtk_2dEntity::Dtk_2dEntity
Dtk_2dEntity(Dtk_2dEntity &&in) DTK_NOEXCEPT
Move constructor.
Dtk_Welding::SetArrowSideContourSymbol
void SetArrowSideContourSymbol(ComplementarySymbolEnum inContourSymbol)
Set the ContourSymbol of the ArrowSide.
Dtk_Oriented2dBBox::SetMiddleCenterPoint
void SetMiddleCenterPoint(const Dtk_pnt &inNewPoint)
Sets the middle center point.
Dtk_HatchingPattern::LineType
const Dtk_Int32 & LineType() const
Retrieves the hatch line type. Applies for hatching. The value can be casted to enum Dtk_FontLineType...
Dtk_Roughness::SetBottomLeftText
Dtk_ErrorStatus SetBottomLeftText(Dtk_Text inText)
Sets the bottom-left text.
Dtk_GeometricalTolerance::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES], const Dtk_bool &inProcessAddtionnalTexts) const
Processes all the Dtk_GeometricalTolerance anchor points.
Dtk_Oriented2dBBox::_XLocalVector
Dtk_dir _XLocalVector
Definition: util_draw_dtk.hpp:471
Dtk_Leader::ArrowHead::m_Infos
Dtk_InfoPtr m_Infos
Definition: util_draw_dtk.hpp:2061
Dtk_ReferenceFrame::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType, const Dtk_Double64 &inOffSet=0.0)
Sets the Dtk_ReferenceFrame anchor point.
Dtk_View::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_OneCell::_BorderTopBlanked
Dtk_Int32 _BorderTopBlanked
Definition: util_draw_dtk.hpp:4064
DTK_FDT_MODIFIER_NONE
@ DTK_FDT_MODIFIER_NONE
Definition: util_draw_dtk.hpp:59
Dtk_TextStyle::AttributeStrikethrough
@ AttributeStrikethrough
Definition: util_draw_dtk.hpp:279
Dtk_OneCell::GetBorderBottomColor
const Dtk_RGB & GetBorderBottomColor()
Gets BorderBottomColor of Bottom border.
Dtk_Welding::GetOtherSideSecondFilletSizeText
Dtk_CompositeText GetOtherSideSecondFilletSizeText() const
Retrieves the OtherSideSecondFilletSizeText Dtk_CompositeText.
Dtk_Welding::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_Annotation.
Dtk_CompositeText::Dtk_CompositeText
Dtk_CompositeText()
Default constructor.
Dtk_ReferenceBlock::GetOuterBoundingBox
Dtk_Oriented2dBBox GetOuterBoundingBox() const
DTK_FRAME_TYPE_OBLONG
@ DTK_FRAME_TYPE_OBLONG
Definition: util_draw_dtk.hpp:145
Dtk_Grid::GetDisplayShowLabelOption
ShowLabelOption GetDisplayShowLabelOption() const
Gets the display show labels option.
Dtk_Region::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_Annotation anchor points.
Dtk_Grid::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:4657
Dtk_Region::GetRectangularHeight
Dtk_ErrorStatus GetRectangularHeight(Dtk_Double64 &outHeight)
Gets the height of the rectangular Dtk_Region.
Dtk_Text::MirroringTypeEnum
MirroringTypeEnum
Definition: util_draw_dtk.hpp:1112
Dtk_Grid
Represents the grids.
Definition: util_draw_dtk.hpp:4482
Dtk_Welding::SetArrowSideSizeText
void SetArrowSideSizeText(Dtk_CompositeText inArrowSideSizeText)
Sets the ArrowSideSizeText Dtk_CompositeText.
Dtk_ToleranceSpecification::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES], const Dtk_Int32 &ignoreadd=0)
Processes all the Dtk_ToleranceSpecification anchor points.
Dtk_Grid::ShowLabelOption
ShowLabelOption
Definition: util_draw_dtk.hpp:4493
Dtk_Welding::Dtk_Welding
Dtk_Welding(const Dtk_pnt &inLocation, Dtk_CompositeText inMiddleRightText, const Dtk_bool inFieldWeldActivated, const Dtk_Char8 inIndentLineFlag, const Dtk_bool inTailActivated, const Dtk_bool inReverseTailAndField, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeaders, const Dtk_Double64 inAngle, const Dtk_Double64 inOffset, const Dtk_anchor_type inAnchorType, const Dtk_justication_type inJustification)
Dtk_Roughness::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:2644
Dtk_Symbol::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Text::ProcessBottomLeftAnchorPoint
Dtk_pnt ProcessBottomLeftAnchorPoint() const
Processes the bottom-left inner anchor point.
Dtk_Camera::ZoomFitModeEnum
ZoomFitModeEnum
Definition: util_draw_dtk.hpp:7368
Dtk_DatumTarget::DatumTargetValueEnum
DatumTargetValueEnum
Definition: util_draw_dtk.hpp:3743
Dtk_Roughness::RoughModeEnum
RoughModeEnum
Definition: util_draw_dtk.hpp:2577
Dtk_Grid::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:4537
Dtk_Welding::WeldTextSecondFilletSize
@ WeldTextSecondFilletSize
Definition: util_draw_dtk.hpp:3069
Dtk_ToleranceSpecification
This is the geometrical tolerance specification. It is part of the Dtk_ToleranceSpecificationContaine...
Definition: util_draw_dtk.hpp:5287
Dtk_OneCell::GetBorderRightColor
const Dtk_RGB & GetBorderRightColor()
Gets BorderRightColor of Right border.
Dtk_CompositeText::SetInnerXAxis
Dtk_ErrorStatus SetInnerXAxis(const Dtk_dir &inXAxis)
Sets the inner bounding box X Axis for the Dtk_CompositeText and included Dtk_Texts.
Dtk_ToleranceSpecification::Create
static Dtk_ToleranceSpecificationPtr Create(Dtk_Text inFullTextWithMaterialCondition, const Dtk_ReferenceFramePtr &inReferenceFrame=Dtk_ReferenceFrame::Create())
Calls full featured constructor to allocate a new object.
Dtk_Symbol::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_Symbol anchor point.
Dtk_Welding::GetArrowSideSecondFilletSizeText
Dtk_CompositeText GetArrowSideSecondFilletSizeText() const
Retrieves the ArrowSideSecondFilletSizeText Dtk_CompositeText.
Dtk_CompositeEntity::AddEntities
void AddEntities(const Dtk_tab< Dtk_EntityPtr > &inEltArray)
Adds an array of Dtk_EntityPtr.
Dtk_ToleranceSpecificationContainer::Explode
Dtk_ErrorStatus Explode(Dtk_CompositeText &outCompositeText, Dtk_tab< Dtk_CurvePtr > &outGeoms)
Explodes the Dtk_ToleranceSpecificationContainer into Dtk_CompositeText and geometrical elements - us...
Dtk_Camera::ProjectionTypeEnum
ProjectionTypeEnum
Definition: util_draw_dtk.hpp:7362
Dtk_Leader::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:2238
Dtk_Text::VerticallyOrientedStatus
const Dtk_bool & VerticallyOrientedStatus() const
Retrieves the text vertically oriented Status - read only -.
Dtk_CompositeEntity::AddPicture
Dtk_ErrorStatus AddPicture(const Dtk_picturePtr &inElt)
Adds a Dtk_picturePtr to the Dtk_CompositeEntity For that, it will check if the Dtk_picturePtr is not...
Dtk_CompositeText::GetInnerBoundingBox
const Dtk_Oriented2dBBox GetInnerBoundingBox() const
Processes the inner bounding box.
Dtk_DatumTarget::SetDatumTargetMovable
void SetDatumTargetMovable(const DatumTargetMovableStatusEnum inMovableStatus, Dtk_tab< Dtk_CurvePtr > inMovableGeom)
Sets the Movable status of the Dtk_DatumTarget.
DTK_UNIT_DMS
@ DTK_UNIT_DMS
Definition: util_draw_dtk.hpp:87
Dtk_CompositeText::Reverse
Dtk_ErrorStatus Reverse()
Reverses the Dtk_CompositeText and included Dtk_Texts.
Dtk_TextStyle::Pitch
const Dtk_Double64 & Pitch() const
Retrieves the text pitch - read only -.
Dtk_OneCell::GetBorderLeftColor
const Dtk_RGB & GetBorderLeftColor()
Gets BorderLeftColor of Left border.
DTK_FRAME_TYPE_OBLONG_RIGHT
@ DTK_FRAME_TYPE_OBLONG_RIGHT
Definition: util_draw_dtk.hpp:147
Dtk_Annotation::DtkDynamicCast
static Dtk_Annotation * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Symbol::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:6662
Dtk_OneCell::Dtk_OneCell
Dtk_OneCell(const Dtk_OneCell &in)
Copy constructor.
Dtk_DatumTarget::~Dtk_DatumTarget
~Dtk_DatumTarget()
Destructor.
Dtk_ReferenceBlock::_ReplaceFirstMaterialModifer
void _ReplaceFirstMaterialModifer(const Dtk_Size_t &inReferencePos, const DTK_FDT_MODIFIER &inMaterialModifier)
Internal use only.
DTK_Text_subtype::IsTolSign
Dtk_bool IsTolSign() const
Tell if the associated Dtk_text is part of Tolerance Sign group - into Dtk_Dimension -.
Dtk_Camera::Dtk_Camera
Dtk_Camera(const Dtk_Camera &s)
Dtk_TextStyle::CharHeight
const Dtk_Double64 & CharHeight() const
Retrieves the char height - Read Only -.
Dtk_Dimension::RadiusDimension
@ RadiusDimension
Definition: util_draw_dtk.hpp:4731
Dtk_Oriented2dBBox::SetPoint
void SetPoint(const Dtk_pnt &inNewPoint, const enum Dtk_anchor_type &inAnchorType)
Sets the point with inAnchorType type.
Dtk_Oriented2dBBox::ProcessDistance
Dtk_ErrorStatus ProcessDistance(const Dtk_Oriented2dBBox &inReferenceBBox, Dtk_Double64 &outTopOffSet, Dtk_Double64 &outBottomOffSet, Dtk_Double64 &outRightOffSet, Dtk_Double64 &outLeftOffSet) const
Process distance - Read Only -.
Dtk_Camera::ZoomFitAllScene
@ ZoomFitAllScene
Definition: util_draw_dtk.hpp:7370
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_DatumTargetPtr &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Create from Dtk_DatumTargetPtr.
Dtk_ToleranceSpecification::SecondReference
const Dtk_ReferenceBlockPtr & SecondReference() const
Retrieves the second reference block - read only -. This is a shortcut without using Dtk_ReferenceFra...
Dtk_OneCell::setWidth
void setWidth(const double &inWidth)
Sets the Dtk_OneCell Width.
Dtk_Grid::GetMinorLineWidth
Dtk_Double64 GetMinorLineWidth() const
Gets the minor line width.
Dtk_Text::GetInnerRotationAngle
Dtk_Double64 GetInnerRotationAngle(const Dtk_dir &inXAxis=Dtk_dir(1, 0, 0), const Dtk_dir &inYAxis=Dtk_dir(0, 1, 0))
Gets the inner bounding box rotation angle giving a reference base.
Dtk_DatumTarget::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:3796
Dtk_ToleranceSpecification::operator=
Dtk_ToleranceSpecification & operator=(const Dtk_ToleranceSpecification &in)
Copy assignment operator.
Dtk_Roughness::ApplyToBasicSurface
@ ApplyToBasicSurface
Definition: util_draw_dtk.hpp:2572
Dtk_Oriented2dBBox::BottomLeftPoint
Dtk_pnt BottomLeftPoint() const
Retrieves the bottom left point - Read Only -.
Definition: util_draw_dtk.hpp:542
Dtk_ToleranceSpecificationContainer::TypeFlatness
@ TypeFlatness
Definition: util_draw_dtk.hpp:6060
Dtk_Roughness::ModeMultiDirectional
@ ModeMultiDirectional
Definition: util_draw_dtk.hpp:2580
Dtk_ToleranceSpecificationContainer::BottomText
const Dtk_Text & BottomText() const
OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer bottom-text as Dtk_Text - read only -.
catiav5w::inTransfo
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:622
Dtk_Welding::SetArrowSideAssociatedGeometries
void SetArrowSideAssociatedGeometries(Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries)
Set the AssociatedGeometries of the ArrowSide.
Dtk_Frame::GetFrameType
const Dtk_frame_type & GetFrameType() const
Retrieves the Frame Type - Read Only -.
Definition: util_draw_dtk.hpp:967
DTK_FRAME_TYPE_FLAG_RIGHT
@ DTK_FRAME_TYPE_FLAG_RIGHT
Definition: util_draw_dtk.hpp:139
Dtk_Symbol::TypeFullBoltCircle
@ TypeFullBoltCircle
Definition: util_draw_dtk.hpp:6383
Dtk_OneCell::min_Height
Dtk_Double64 min_Height
The original height before mergers.
Definition: util_draw_dtk.hpp:4041
Dtk_justication_type
Dtk_justication_type
Definition: util_draw_dtk.hpp:115
Dtk_DatumTarget::Dtk_DatumTarget
Dtk_DatumTarget(const Dtk_DatumTarget &inToBeCopied)
Dtk_Camera::GetSemiHeight
Dtk_Double64 GetSemiHeight() const
Retrieves the Camera Base Semi Height - read only -.
Dtk_Symbol::SetRotationAngle
Dtk_ErrorStatus SetRotationAngle(const Dtk_Double64 &inRotationAngle)
Sets the annotation angle using the annotation base.
Dtk_OneCell::_BorderBottomColor
Dtk_RGB _BorderBottomColor
Definition: util_draw_dtk.hpp:4058
Dtk_Region::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_Annotation.
Dtk_OneCell::~Dtk_OneCell
~Dtk_OneCell()
Destructor.
DTK_TRUE
#define DTK_TRUE
Definition: define.h:719
Dtk_FCFFeatureIndicator::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Definition: util_draw_dtk.hpp:5941
Dtk_OneCell::getnbCells_Top_Bottom
Dtk_Int32 getnbCells_Top_Bottom() const
Gets the number of cells at the bottom or left of the Dtk_OneCell.
Dtk_OneCell::anchor
Dtk_Size_t anchor
Defines the anchor texts.
Definition: util_draw_dtk.hpp:4047
Dtk_Symbol
This is the general symbol class. It's basically composed of Dtk_CompositeText and geometrical elemen...
Definition: util_draw_dtk.hpp:6357
DTK_TYPE_REGION
@ DTK_TYPE_REGION
Definition: define.h:550
Dtk_Welding::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:3170
Dtk_Grid::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_Annotation anchor point.
Dtk_CompositeText::Dtk_CompositeText
Dtk_CompositeText(const Dtk_CompositeText &t)
Copy constructor.
Dtk_Welding::ComplementarySymbolWeldWithConcaveFace
@ ComplementarySymbolWeldWithConcaveFace
Definition: util_draw_dtk.hpp:3052
Dtk_DatumTarget::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:3964
Dtk_Text::ProcessRotationAngle
Dtk_Double64 ProcessRotationAngle(const Dtk_dir &inZAxis=Dtk_dir(0, 0, 1)) const
Processes the inner bounding box rotation angle giving the reference Z Axis.
Dtk_ToleranceSpecificationContainer::Create
static Dtk_ToleranceSpecificationContainerPtr Create(const Dtk_ToleranceSpecificationContainer &in)
Calls copy constructor to allocate a new object.
Dtk_ReferenceFrame::Create
static Dtk_ReferenceFramePtr Create(Dtk_ReferenceFrame &&in)
Calls move constructor to allocate a new object.
Dtk_Welding::FinishSymbolRoll
@ FinishSymbolRoll
Definition: util_draw_dtk.hpp:3102
DTK_Text_subtype::IsSeparator
Dtk_bool IsSeparator() const
Tell if the associated Dtk_text is a separator - into Dtk_Dimension -.
Dtk_Frame::Dtk_Frame
Dtk_Frame()
Default constructor.
Definition: util_draw_dtk.hpp:939
Dtk_Welding::~Dtk_Welding
~Dtk_Welding()
Destructor.
Dtk_CompositeText::operator+=
Dtk_CompositeText & operator+=(Dtk_CompositeText s2)
Merges the Dtk_CompositeText to another one.
Dtk_Roughness::SetRoughnessApplyTo
Dtk_ErrorStatus SetRoughnessApplyTo(const ApplyToEnum &inApplyTo)
Sets the apply-to type.
Dtk_2dEntity::AddAdditionnalGeometry
void AddAdditionnalGeometry(const Dtk_EntityPtr &inAdditionnalGeometry)
Adds an additionnal geometry to the Dtk_2dEntity.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_Roughness &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Dtk_Leader::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Oriented2dBBox::SetMiddleRightPoint
void SetMiddleRightPoint(const Dtk_pnt &inNewPoint)
Sets the middle right point.
Dtk_OneCell::SetText
void SetText(Dtk_CompositeText text)
Sets the text in the Dtk_OneCell.
Dtk_TextStyle::_justification
TextJustificationEnum _justification
Text Justification (Left, etc...)
Definition: util_draw_dtk.hpp:316
Dtk_View::AddOLEObject
Dtk_ErrorStatus AddOLEObject(const Dtk_OLEObjectPtr &inOLEObject)
Adds a Dtk_OLEObjectPtr to the view.
Dtk_FCFFeatureIndicator::m_Private
Dtk_Handle * m_Private
Definition: util_draw_dtk.hpp:5893
Dtk_Welding::Create
static Dtk_WeldingPtr Create(const Dtk_pnt &inLocation, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeaders=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 inAngle=0.0, const Dtk_Double64 inOffset=0.0, const Dtk_anchor_type inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type inJustification=DTK_JUSTIFY_LEFT)
Calls full featured constructor to allocate a new object.
Dtk_Leader::ApplicationZone::operator=
ApplicationZone & operator=(const ApplicationZone &in)
Copy assignment operator.
Definition: util_draw_dtk.hpp:1931
Dtk_Region::RectangularType
@ RectangularType
Definition: util_draw_dtk.hpp:7930
Dtk_Symbol::GetNumGeometricalElements
Dtk_Size_t GetNumGeometricalElements() const
Retrieves the geometrical elements number - read only -.
Dtk_Welding::SymbolFlangeEdge
@ SymbolFlangeEdge
Definition: util_draw_dtk.hpp:2971
Dtk_CompositeEntity::DtkDynamicCast
static Dtk_CompositeEntity * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_ToleranceSpecificationContainer::GetAnchorPointsByTolSpec
Dtk_ErrorStatus GetAnchorPointsByTolSpec(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES], const Dtk_Int32 &ref_tol_spec_ind=-1) const
Processes all the Dtk_Symbol anchor points.
Dtk_OneCell::getJustification
Dtk_justication_type & getJustification()
Gets the Dtk_OneCell justification.
Dtk_Text::SetInnerAnchorPoint
Dtk_ErrorStatus SetInnerAnchorPoint(const Dtk_pnt &inNewOrigin, const Dtk_anchor_type &inLocationAnchorType)
Set the text inner anchor point.
Dtk_Leader::Create
static Dtk_LeaderPtr Create(const Dtk_Double64 &inWidth, const Dtk_Double64 &inHeight, const Dtk_pnt &inArrowLocation, const LeaderTerminatorTypeEnum &inTerminatorType, const Dtk_tab< Dtk_pnt > &inPntsArray)
Linear leader constructor.
Dtk_Grid::GetDisplayGridOption
Dtk_bool GetDisplayGridOption() const
Gets the display grid option.
Dtk_ToleranceSpecificationContainer::ToleranceSpecificationContainerType
TypeEnum & ToleranceSpecificationContainerType()
Retrieves the Dtk_ToleranceSpecificationContainer type - get/set -.
Dtk_Roughness::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
DTK_Text_subtype::IsTolBloc
Dtk_bool IsTolBloc() const
Tell if the associated Dtk_text is part of Tolerance Block group - into Dtk_Dimension -.
Dtk_View::GetNumBodies
Dtk_Size_t GetNumBodies() const
Retrieves the bodies number to be dispalyed- read only -.
DTK_TYPE_REFERENCE
@ DTK_TYPE_REFERENCE
Definition: define.h:464
Dtk_OneCell::SetBorderTopBlanked
void SetBorderTopBlanked(const Dtk_Int32 &inBorderTopBlanked)
Sets BorderTopBlanked of Top border.
Dtk_Hatching::Create
static Dtk_HatchingPtr Create()
Calls default constructor to allocate a new object.
Dtk_Welding::WeldTextClearance
@ WeldTextClearance
Definition: util_draw_dtk.hpp:3068
Dtk_Drawing::Create
static Dtk_DrawingPtr Create(const Dtk_Drawing &in)
Calls copy constructor to allocate a new object.
Dtk_ToleranceSpecification::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_2dEntity::DtkDynamicCast
static Dtk_2dEntity * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Text::OuterXAxis
const Dtk_dir & OuterXAxis() const
Retrieves the outer bounding box XAxis - read only -.
Dtk_View::Dtk_View
Dtk_View()
Dtk_Welding::WeldTextLength
@ WeldTextLength
Definition: util_draw_dtk.hpp:3065
Dtk_TextStyle::TextJustificationEnumToString
static Dtk_string TextJustificationEnumToString(const TextJustificationEnum &inEnum)
Definition: util_draw_dtk.hpp:296
DTK_TYPE_CAMERA
@ DTK_TYPE_CAMERA
Definition: define.h:469
Dtk_GeometricalTolerance::GetToleranceSpecificationContainer
Dtk_ToleranceSpecificationContainerPtr & GetToleranceSpecificationContainer(const Dtk_Size_t &inPos)
Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -.
Dtk_Text::operator=
Dtk_Text & operator=(const Dtk_Text &in)
Copy assignment operator.
Dtk_ReferenceFrame::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES], const Dtk_Double64 &inOffSet=0.0) const
Processes all the Dtk_ReferenceFrame anchor points.
DTK_JUSTIFY_CENTER
@ DTK_JUSTIFY_CENTER
Definition: util_draw_dtk.hpp:119
Dtk_ViewDisplay::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:6904
Dtk_ToleranceSpecificationContainer::SetToleranceTypeOuterBoundingBox
void SetToleranceTypeOuterBoundingBox(const Dtk_Oriented2dBBox &inOuterBBox) const
Set the Tolerance Specification Container Type outer Bounding Box.
Dtk_ReferenceBlock::~Dtk_ReferenceBlock
~Dtk_ReferenceBlock()
Destructor.
Dtk_Grid::GetGeometries
Dtk_tab< Dtk_EntityPtr > GetGeometries() const
Retrieves the Dtk_Grid geometries.
Dtk_View::GetNum2dGeometricalEntity
Dtk_Size_t GetNum2dGeometricalEntity() const
Retrieves the number of geometrical entity to the view.
Dtk_2dEntity::AddAdditionnalTexts
void AddAdditionnalTexts(Dtk_CompositeText inAddtionnalTexts)
Adds some additionnal texts to the Dtk_2dEntity.
Dtk_Hatching::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_ToleranceSpecificationContainer::DtkDynamicCast
static Dtk_ToleranceSpecificationContainer * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Leader::GetArrowHead
ArrowHead & GetArrowHead()
DTK_Text_subtype::IsUpperFrac
Dtk_bool IsUpperFrac() const
Tell if the associated Dtk_text is part of Upper Fraction group - into Dtk_Dimension -.
Dtk_TextStyle::Font
const Dtk_Font & Font() const
Retrieves the font - read only -.
Dtk_Welding::SetArrowSideTexts
void SetArrowSideTexts(std::unordered_map< Dtk_UInt8, Dtk_CompositeText > &inTexts)
Set the Dtk_Welding ArrowSide Texts and their types.
Dtk_Leader::ApplicationZone::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the ApplicationZone.
Definition: util_draw_dtk.hpp:1920
Dtk_View::Dtk_View
Dtk_View(const Dtk_View &s)
Dtk_Roughness::GetMiddleLeftText
Dtk_Text GetMiddleLeftText() const
Gets the middle-left text - read only -.
Dtk_Oriented2dBBox::_Init
void _Init()
Definition: util_draw_dtk.hpp:476
DTK_FDT_MODIFIER
DTK_FDT_MODIFIER
This is the several tolerances modifiers list.
Definition: util_draw_dtk.hpp:54
Dtk_Welding::SymbolSquareButtWeld
@ SymbolSquareButtWeld
Definition: util_draw_dtk.hpp:2937
Dtk_Welding::SetIndentLineFlag
void SetIndentLineFlag(const Dtk_Char8 inIndentLineFlag=-1)
Sets the IndentLine Flag.
Dtk_Roughness::GetGeometries
Dtk_tab< Dtk_EntityPtr > GetGeometries() const
Retrieves the Dtk_Roughness geometries.
Dtk_Welding::FinishSymbolFlush
@ FinishSymbolFlush
Definition: util_draw_dtk.hpp:3094
DTK_Text_subtype::IsDual
Dtk_bool IsDual() const
Tell if the associated Dtk_text is part of dual group - into Dtk_Dimension -.
Dtk_Symbol::TypeUrl
@ TypeUrl
Definition: util_draw_dtk.hpp:6386
Dtk_Symbol::MergeWithOtherSymbol
void MergeWithOtherSymbol(const Dtk_SymbolPtr &inSymbolToBeMerged)
Merges texts and geometrical element of the given Dtk_Symbol into this Dtk_Symbol.
Dtk_Oriented2dBBox::Dtk_Oriented2dBBox
Dtk_Oriented2dBBox(const Dtk_Oriented2dBBox &in)
Copy constructor.
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:53
DTK_ALIGN_RIGHT
@ DTK_ALIGN_RIGHT
Definition: util_draw_dtk.hpp:108
Dtk_Hatching
This is the Hatching class. The hatching fills a closed area delimited by boundaries....
Definition: util_draw_dtk.hpp:7735
Dtk_ToleranceSpecification::Dtk_ToleranceSpecification
Dtk_ToleranceSpecification()
Dtk_DatumTarget::TopText
const Dtk_CompositeText & TopText() const
Retrieves the top text - read only -.
Dtk_ToleranceSpecificationContainer::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES], const Dtk_bool &ProcessAddtionnalTexts) const
Processes all the Dtk_Symbol anchor points.
Dtk_Roughness::SetMiddleRightText
Dtk_ErrorStatus SetMiddleRightText(Dtk_Text inText)
Sets the middle-right text.
Dtk_Oriented2dBBox::ProcessIntersectionWithSegment
Dtk_Int32 ProcessIntersectionWithSegment(const Dtk_pnt &inPntA, const Dtk_pnt &inPntB, Dtk_tab< Dtk_pnt > &outIntersectionPnts, const Dtk_bool &inTestComplanarity=DTK_FALSE) const
Processes intersection points with a segment giving its ends.
Dtk_FCFFeatureIndicatorType
This is the Feature Indicator. It is part of the Dtk_FCFFeatureIndicator. .
Definition: util_draw_dtk.hpp:5754
Dtk_ReferenceBlock::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:4974
Dtk_Hatching::operator=
Dtk_Hatching & operator=(const Dtk_Hatching &in)
Copy assignment operator.
DTK_ANCHOR_BOTTOM_LEFT
@ DTK_ANCHOR_BOTTOM_LEFT
Definition: util_draw_dtk.hpp:97
Dtk_Leader::TerminatorTypeTriangle
@ TerminatorTypeTriangle
Definition: util_draw_dtk.hpp:1981
Dtk_Leader::TerminatorTypeCircle
@ TerminatorTypeCircle
Definition: util_draw_dtk.hpp:1967
Dtk_Grid::GetBoundingBox
Dtk_Oriented2dBBox & GetBoundingBox() const
Gets the 2d bbox of the grid.
Dtk_OneCell::setnbCells_Left_Right
void setnbCells_Left_Right(const Dtk_Size_t &inNewVal)
Sets nbCells_Left_Right.
Dtk_View::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:6988
Dtk_2dEntity::get_type_detk
virtual type_detk get_type_detk() const =0
Dtk_Size_t
size_t Dtk_Size_t
Definition: define.h:704
Dtk_Text::SetOuterRotationAngle
Dtk_ErrorStatus SetOuterRotationAngle(const Dtk_Double64 &inRotationAngle, const Dtk_dir &inXAxis=Dtk_dir(1, 0, 0), const Dtk_dir &inYAxis=Dtk_dir(0, 1, 0))
Sets the outer bounding box rotation angle giving a reference base.
Dtk_ToleranceSpecificationContainer::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:6108
Dtk_CompositeEntity::GetPicture
Dtk_picturePtr GetPicture(const Dtk_Size_t &inPos) const
Retrieves the ith Dtk_picturePtr.
Dtk_FCFFeatureIndicatorType::Clear
void Clear()
Clear elements.
Definition: util_draw_dtk.hpp:5811
Dtk_Welding::SetReverseTailAndFieldFlag
void SetReverseTailAndFieldFlag(const Dtk_bool inReverseTailAndField=DTK_TRUE)
Sets the Field/Tail Reverse Flag.
Dtk_Roughness::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_Roughness anchor point.
Dtk_DatumTarget::BottomText
const Dtk_CompositeText & BottomText() const
Retrieves the bottom text - read only -.
Dtk_DatumTarget::BottomText
Dtk_CompositeText & BottomText()
Retrieves the bottom text - get/set -.
Dtk_Text::InnerLocation
Dtk_pnt & InnerLocation()
Retrieves the inner bounding box location - get/set -.
Dtk_ReferenceBlock::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_TextStyle::Dtk_TextStyle
Dtk_TextStyle(const Dtk_TextStyle &in)
Copy constructor.
Dtk_Font::~Dtk_Font
~Dtk_Font()
Destructor.
Dtk_Frame::Dtk_Frame
Dtk_Frame(const Dtk_Frame &in)
Copy constructor.
Definition: util_draw_dtk.hpp:934
Dtk_ToleranceSpecification::Dtk_ToleranceSpecification
Dtk_ToleranceSpecification(Dtk_ToleranceSpecification &&in) DTK_NOEXCEPT
DTK_TYPE_COMPOSITE_ENTITY
@ DTK_TYPE_COMPOSITE_ENTITY
Definition: define.h:441
DTK_ANCHOR_TOP_CENTER
@ DTK_ANCHOR_TOP_CENTER
Definition: util_draw_dtk.hpp:92
Dtk_ToleranceSpecificationContainer::TypeStraightness
@ TypeStraightness
Definition: util_draw_dtk.hpp:6058
Dtk_DatumTarget::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES])
Processes all the Dtk_DatumTarget anchor points.
Dtk_Camera::DtkDynamicCast
static Dtk_Camera * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Symbol::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_Symbol anchor points.
Dtk_Grid::GetDisplayMajorLinesOption
Dtk_bool GetDisplayMajorLinesOption() const
Gets the display major lines option.
Dtk_OneCell::set_min_Height
void set_min_Height(const double &inHeight)
Sets the Dtk_OneCell min_Height.
Dtk_Drawing::AddView
Dtk_ErrorStatus AddView(const Dtk_ViewPtr &inView, const Dtk_pnt &inOrigin)
Adds a view into the drawing.
Dtk_OneCell::_HasText
Dtk_bool _HasText
Definition: util_draw_dtk.hpp:4044
Dtk_ReferenceBlock::Create
static Dtk_ReferenceBlockPtr Create(Dtk_ReferenceBlock &&in)
Calls move constructor to allocate a new object.
Dtk_Roughness::GetRoughnessType
ObtentionTypeEnum GetRoughnessType() const
Gets the obtention type - read only -.
Dtk_Oriented2dBBox::ProcessIntersectionWithLine
Dtk_Int32 ProcessIntersectionWithLine(const Dtk_LinePtr inLine, Dtk_pnt &outIntersectionPnt1, Dtk_pnt &outIntersectionPnt2, Dtk_Double64 &outIntersectionParam1, Dtk_Double64 &outIntersectionParam2, const Dtk_bool &inTestComplanarity=DTK_FALSE) const
Processes intersection points with a line.
Dtk_View::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:7001
Dtk_Leader::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:2190
Dtk_Oriented2dBBox::SetYLocalVector
void SetYLocalVector(const Dtk_dir &inNewYVector)
Sets the Y local vector.
Definition: util_draw_dtk.hpp:652
Dtk_Welding::WeldTextDepth
@ WeldTextDepth
Definition: util_draw_dtk.hpp:3067
Dtk_Text::GetInfo
const Dtk_InfoPtr & GetInfo() const
Retrieves the text infos - read only -.
DTK_FRAME_TYPE_UNDERLINE
@ DTK_FRAME_TYPE_UNDERLINE
Definition: util_draw_dtk.hpp:173
Dtk_Roughness::GetBottomRightText
Dtk_Text GetBottomRightText() const
Gets the bottom-right text - read only -.
Dtk_Welding::WeldTextNum
@ WeldTextNum
Definition: util_draw_dtk.hpp:3064
Dtk_FCFFeatureIndicatorType::m_Type
Dtk_FCFFeatureIndicatorTypeEnum m_Type
Definition: util_draw_dtk.hpp:5769
Dtk_Camera::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:7381
Dtk_Region::AnnularType
@ AnnularType
Definition: util_draw_dtk.hpp:7932
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(Dtk_Table &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Dtk_CompositeEntity::Create
static Dtk_CompositeEntityPtr Create(const Dtk_CompositeEntity &in)
Calls copy constructor to allocate a new object.
DTK_ANCHOR_BOTTOM_CENTER
@ DTK_ANCHOR_BOTTOM_CENTER
Definition: util_draw_dtk.hpp:98
Dtk_CompositeEntity::GetEntity
Dtk_EntityPtr GetEntity(const Dtk_Size_t &inPos) const
Retrieves the ith Dtk_EntityPtr.
Dtk_CompositeEntity::~Dtk_CompositeEntity
~Dtk_CompositeEntity()
Destructor.
Dtk_Font::FontType
const FontTypeEnum & FontType() const
Retrieves the font type - read only -.
Dtk_Font::_font_type
FontTypeEnum _font_type
Font type (Postcript, TrueType)
Definition: util_draw_dtk.hpp:193
DTK_Text_subtype::IsPow
Dtk_bool IsPow() const
Tell if the associated Dtk_text is part of Pow group - into Dtk_Dimension -.
Dtk_Text::OuterXAxis
Dtk_dir & OuterXAxis()
Retrieves the outer bounding box XAxis - get/set -.
Dtk_Roughness::SetBottomRightText
Dtk_ErrorStatus SetBottomRightText(Dtk_Text inText)
Sets the bottom-right text.
Dtk_Welding::AddArrowSideText
void AddArrowSideText(WeldTextType inType, Dtk_CompositeText inText)
Add a Text and its type to the ArrowSide.
Dtk_Roughness::SetOtherRequirement
Dtk_ErrorStatus SetOtherRequirement(Dtk_Text inText)
Sets the OtherRequirement text.
Dtk_Welding::WeldTextFinishSymbol
@ WeldTextFinishSymbol
Definition: util_draw_dtk.hpp:3062
Dtk_Text
This is the base text class. It's part of Dtk_CompositeText. This class represents the texts and valu...
Definition: util_draw_dtk.hpp:1110
Dtk_Grid::GetUSpacing
Dtk_Double64 GetUSpacing() const
Gets U spacing between lines.
Dtk_Fdt::TransformationMatrix
const Dtk_transfo & TransformationMatrix() const
Retrieves the transformation matrix - read only -.
Dtk_FCFFeatureIndicator::DtkDynamicCast
static Dtk_FCFFeatureIndicator * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Definition: util_draw_dtk.hpp:5948
Dtk_FCFFeatureIndicator::~Dtk_FCFFeatureIndicator
~Dtk_FCFFeatureIndicator()
Destructor.
Definition: util_draw_dtk.hpp:5929
Dtk_DatumTarget::Dtk_DatumTarget
Dtk_DatumTarget()
Dtk_Dimension::BasicDimensionTypeEnum
BasicDimensionTypeEnum
Definition: util_draw_dtk.hpp:4743
Dtk_FCFFeatureIndicator::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslationDir)
Translates the Dtk_FCFFeatureIndicator giving a translation vector.
Dtk_Oriented2dBBox::Merge
void Merge(const Dtk_Oriented2dBBox &inOriented2dBBox)
Merges the Dtk_Oriented2dBBox to another one.
Dtk_CompositeText::SetInnerYAxis
Dtk_ErrorStatus SetInnerYAxis(const Dtk_dir &axis_dir)
Sets the inner bounding box Y Axis for the Dtk_CompositeText and included Dtk_Texts.
Dtk_FCFFeatureIndicator::Dtk_FCFFeatureIndicator
Dtk_FCFFeatureIndicator(Dtk_FCFFeatureIndicatorType inFeatureIndicatorType, Dtk_Text inSymbol, Dtk_Text inDatumFeatureIdentifier)
Dtk_Annotation::Dtk_Annotation
Dtk_Annotation(const Dtk_Annotation &in)
Copy constructor.
Dtk_Roughness::Create
static Dtk_RoughnessPtr Create(const Dtk_Roughness &in)
Calls copy constructor to allocate a new object.
DTK_UNIT_MM
@ DTK_UNIT_MM
Definition: util_draw_dtk.hpp:76
Dtk_TextStyle::_font_style
FontStyleEnum _font_style
Font Style type (Regular, Italic, etc...)
Definition: util_draw_dtk.hpp:312
Dtk_Symbol::TypeRoughness
@ TypeRoughness
Definition: util_draw_dtk.hpp:6365
Dtk_GeometricalTolerance::Dtk_GeometricalTolerance
Dtk_GeometricalTolerance(Dtk_GeometricalTolerance &&s) DTK_NOEXCEPT
Dtk_Roughness::ModeParticular
@ ModeParticular
Definition: util_draw_dtk.hpp:2586
Dtk_ToleranceSpecificationContainer::SetLeftText
Dtk_ErrorStatus SetLeftText(Dtk_CompositeText inText)
Sets the Dtk_ToleranceSpecificationContainer left-text.
Dtk_Oriented2dBBox::Extend
void Extend(const Dtk_Double64 &inTopExtend, const Dtk_Double64 &inBottomExtend, const Dtk_Double64 &inLeftExtend, const Dtk_Double64 &inRightExtend)
Extend the bounding box.
Dtk_Welding::SymbolRemovableBackingStripUsed
@ SymbolRemovableBackingStripUsed
Definition: util_draw_dtk.hpp:2963
Dtk_Frame::_Init
void _Init()
Definition: util_draw_dtk.hpp:910
Dtk_OneCell::_BorderLeftBlanked
Dtk_Int32 _BorderLeftBlanked
Definition: util_draw_dtk.hpp:4068
Dtk_ViewDisplay::GetHiddenEdgesLineStyle
Dtk_ErrorStatus GetHiddenEdgesLineStyle(Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor) const
Retrieves Line style for Hidden Edges.
Dtk_TextStyle::_char_width
Dtk_Double64 _char_width
Width of each char in the text.
Definition: util_draw_dtk.hpp:322
Dtk_Welding::GetReverseTailAndFieldFlag
Dtk_bool GetReverseTailAndFieldFlag() const
Tells if the Field/Tail are reversed.
Dtk_Welding::SymbolFlareBevelWeld
@ SymbolFlareBevelWeld
Definition: util_draw_dtk.hpp:2979
Dtk_Leader
This class graphically represents leader of annotations. It is part of Dtk_Annotation and Dtk_Dimens...
Definition: util_draw_dtk.hpp:1817
Dtk_Drawing
This is the drawing class. It basically contains a Dtk_View array.
Definition: util_draw_dtk.hpp:6709
Dtk_CompositeText::ConvertToDtk_string
Dtk_string ConvertToDtk_string() const
Merges the Dtk_CompositeText to Dtk_string.
dtk_val.hpp
Dtk_CompositeText::operator+
friend Dtk_CompositeText operator+(Dtk_CompositeText s1, Dtk_CompositeText s2)
Add all the Dtk_Text from the two Dtk_CompositeText.
Dtk_Leader::ApplicationZone::ApplicationZoneEnumToString
static Dtk_string ApplicationZoneEnumToString(const ApplicationZoneEnum &inEnum)
Definition: util_draw_dtk.hpp:1832
Dtk_Welding::GetArrowSideClearanceText
Dtk_CompositeText GetArrowSideClearanceText() const
Retrieves the ArrowSideClearanceText Dtk_CompositeText.
Dtk_TextStyle::Pitch
Dtk_Double64 & Pitch()
Retrieves the text pitch - get/set -.
Dtk_Grid::~Dtk_Grid
~Dtk_Grid()
Destructor.
Dtk_Welding::SetArrowSideSecondFilletSizeText
void SetArrowSideSecondFilletSizeText(Dtk_CompositeText inArrowSideSecondFilletSizeText)
Sets the ArrowSideSecondFilletSizeText Dtk_CompositeText.
Dtk_Welding::GetComplementarySymbolArrowSide
ComplementarySymbolEnum GetComplementarySymbolArrowSide() const
Retrieves the ArrowSide WeldingSymboEnum.
Dtk_Font::Dtk_Font
Dtk_Font()
Default constructor.
Dtk_Dimension::Dtk_Dimension
Dtk_Dimension(const Dtk_Dimension &in)
Dtk_ReferenceFrame::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:5163
Dtk_Fdt::GetScreenDisplayAttribute
Dtk_Fdt::ScreenDisplayEnum GetScreenDisplayAttribute() const
Gets the ScreenDisplay attribute of the Dtk_Fdt.
Dtk_Table::Dtk_Table
Dtk_Table(const Dtk_Table &tab)
Dtk_Frame::~Dtk_Frame
~Dtk_Frame()
Destructor.
Definition: util_draw_dtk.hpp:945
Dtk_TextStyle::FontStyleEnum
FontStyleEnum
Definition: util_draw_dtk.hpp:252
Dtk_OneCell::_BorderRightColor
Dtk_RGB _BorderRightColor
Definition: util_draw_dtk.hpp:4062
Dtk_Welding::GetLengthTextArrowSide
Dtk_Text GetLengthTextArrowSide() const
Retrieves the ArrowSide Length Dtk_Text.
Dtk_Welding::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:3133
Dtk_View::IsView
bool IsView(ViewType typeView)
Checks if the view is of a given type.
Dtk_Oriented2dBBox::GetBottomCenterPoint
Dtk_pnt GetBottomCenterPoint() const
Retrieves the bottom center point - Read Only -.
Definition: util_draw_dtk.hpp:571
Dtk_Font::operator=
Dtk_Font & operator=(Dtk_Font &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_ReferenceBlock::Translate
void Translate(const Dtk_dir &inTranslationDir)
Translates the Dtk_ReferenceBlock - internal use only -.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_TablePtr &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Create from Dtk_TablePtr.
Dtk_Font::FontTruescript
@ FontTruescript
Definition: util_draw_dtk.hpp:185
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_GeometricalTolerance &inToBeConverteds, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
DTK_FALSE
#define DTK_FALSE
Definition: define.h:720
Dtk_Welding::SetOtherSideSecondFilletSizeText
void SetOtherSideSecondFilletSizeText(Dtk_CompositeText inOtherSideSecondFilletSizeText)
Sets the OtherSideSecondFilletSizeText Dtk_CompositeText.
DTK_FRAME_TYPE_OBLONG_LEFT
@ DTK_FRAME_TYPE_OBLONG_LEFT
Definition: util_draw_dtk.hpp:149
Dtk_FCFFeatureIndicatorType::m_RelatedGeomElements
Dtk_tab< Dtk_CurvePtr > m_RelatedGeomElements
Definition: util_draw_dtk.hpp:5770
Dtk_OneCell::SetBorderRightColor
void SetBorderRightColor(const Dtk_Int32 &inBorderRightColor)
Sets BorderRightColor of Right border.
util_geom_dtk.hpp
Dtk_Fdt::Dtk_Fdt
Dtk_Fdt(const Dtk_Fdt &inToBeCopied)
Dtk_Symbol::TypeEnumToString
static const Dtk_string TypeEnumToString(const TypeEnum &inEnum)
Definition: util_draw_dtk.hpp:6389
Dtk_Leader::ArrowHead::ArrowHead
ArrowHead()
Default constructor.
Definition: util_draw_dtk.hpp:2103
DTK_TYPE_SYMBOL
@ DTK_TYPE_SYMBOL
Definition: define.h:400
Dtk_CompositeEntity::Dtk_CompositeEntity
Dtk_CompositeEntity(const Dtk_CompositeEntity &s)
Dtk_Oriented2dBBox::Dtk_Oriented2dBBox
Dtk_Oriented2dBBox(const Dtk_pnt &inBottomLeft, const Dtk_Double64 &inXLength, const Dtk_Double64 inYLength, const Dtk_dir &inRefAxis=Dtk_dir(1, 0, 0), const Dtk_dir &inNormalAxis=Dtk_dir(0, 0, 1))
Full featured constructor.
Dtk_Grid::Create
static Dtk_GridPtr Create(const Dtk_Grid &in)
CreateCopy{in}.
Dtk_ToleranceSpecificationContainer::GetRightText
const Dtk_Text & GetRightText() const
OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer right-text as Dtk_Text - read only -.
Dtk_Oriented2dBBox::operator=
Dtk_Oriented2dBBox & operator=(const Dtk_Oriented2dBBox &in)
Copy assignment operator.
Dtk_Welding::GetOtherSideWeldSymbolText
Dtk_CompositeText GetOtherSideWeldSymbolText() const
Retrieves the OtherSideWeldSymbolText Dtk_CompositeText.
Dtk_bool
char Dtk_bool
Definition: define.h:717
Dtk_Welding::SymbolSteepFlankedSingleBevelButtWeld
@ SymbolSteepFlankedSingleBevelButtWeld
Definition: util_draw_dtk.hpp:2957
Dtk_Text::ProcessTextNumLines
Dtk_Int32 ProcessTextNumLines() const
Processes the line feed number.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_Symbol &s)
Dtk_FCFFeatureIndicator::Create
static Dtk_FCFFeatureIndicatorPtr Create()
Calls default constructor to allocate a new object.
Definition: util_draw_dtk.hpp:5961
DTK_TYPE_VIEW
@ DTK_TYPE_VIEW
Definition: define.h:435
Dtk_Roughness::Dtk_Roughness
Dtk_Roughness(const Dtk_pnt &inLocationPnt, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inAngle=0.0, const Dtk_Double64 &inOffSet=0.0, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Dtk_Oriented2dBBox::SetTopLeftPoint
void SetTopLeftPoint(const Dtk_pnt &inNewPoint)
Sets the top left point.
DTK_TYPE_DATUM_TARGET
@ DTK_TYPE_DATUM_TARGET
Definition: define.h:428
Dtk_OneCell::SetBorderBottomColor
void SetBorderBottomColor(const Dtk_RGB &inBorderBottomColor)
Dtk_Leader::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Roughness::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:2865
Dtk_TextStyle::Slant
Dtk_Double64 & Slant()
Retrieves the text slant - get/set -.
Dtk_DatumTarget::DatumTargetTypeEnumToString
static Dtk_string DatumTargetTypeEnumToString(const DatumTargetTypeEnum &inEnum)
Definition: util_draw_dtk.hpp:3710
Dtk_Dimension::AddText
Dtk_ErrorStatus AddText(Dtk_Text inText)
Adds text to the Dtk_Dimension text.
Dtk_TextStyle::Attributes
TextAttributeEnum & Attributes()
Retrieves the text attribute - get/set -.
Dtk_GeometricalTolerance::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType, const Dtk_bool &inProcessAddtionnalTexts)
Sets the Dtk_GeometricalTolerance anchor point.
Dtk_Welding::GetComplementarySymbolOtherSide
ComplementarySymbolEnum GetComplementarySymbolOtherSide() const
Retrieves the OtherSide WeldingSymboEnum.
Dtk_FCFFeatureIndicatorType::Dtk_FCFFeatureIndicatorType
Dtk_FCFFeatureIndicatorType(const Dtk_FCFFeatureIndicatorType &in)
Copy constructor.
Definition: util_draw_dtk.hpp:5796
Dtk_View::Scale
Dtk_Double64 & Scale()
Retrieves the Dtk_View scale - get/set-.
Dtk_Dimension::DtkDynamicCast
static Dtk_Dimension * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Text::SetOuterAnchorPoint
Dtk_ErrorStatus SetOuterAnchorPoint(const Dtk_pnt &inNewOrigin, const Dtk_anchor_type &inLocationAnchorType)
Set the text outer anchor point.
DTK_Text_subtype::IsBasisval
Dtk_bool IsBasisval() const
Tell if the associated Dtk_text is part of Basis group - into Dtk_Dimension -.
Dtk_ToleranceSpecification::FirstReference
const Dtk_ReferenceBlockPtr & FirstReference() const
Retrieves the first reference block - read only -. This is a shortcut without using Dtk_ReferenceFram...
Dtk_Welding::GetBrazingOtherSide
Dtk_bool GetBrazingOtherSide() const
Tells if the Brazing is activated for the OtherSide.
Dtk_Leader::ArrowHead::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the ApplicationZone.
Definition: util_draw_dtk.hpp:2158
Dtk_TextStyle::operator=
Dtk_TextStyle & operator=(const Dtk_TextStyle &in)
Copy assignment operator.
Dtk_HatchingPattern::_style
Dtk_HatchingStyle _style
Definition: util_draw_dtk.hpp:7576
Dtk_Leader::SetLeaderCurveThicknessInMM
void SetLeaderCurveThicknessInMM(const Dtk_Double64 inCurveThicknessinMM)
Set the leader curve Thickness in Millimeters.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create()
Calls default constructor to allocate a new object.
Dtk_OneCell::justification
Dtk_justication_type justification
Text justification.
Definition: util_draw_dtk.hpp:4053
Dtk_CompositeText::Clear
void Clear()
DTK_ANCHOR_MIDDLE_CENTER
@ DTK_ANCHOR_MIDDLE_CENTER
Definition: util_draw_dtk.hpp:95
Dtk_Camera::ProcessXSemiAngle
Dtk_Double64 ProcessXSemiAngle() const
Processes the X - along width - Semi Angle - read only -.
Definition: util_draw_dtk.hpp:7502
Dtk_ViewDisplay::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Welding::SetOtherSideWeldingSymbol
void SetOtherSideWeldingSymbol(WeldingSymbolEnum inWeldingSymbol)
Set the WeldingSymbol of the OtherSide.
Dtk_Welding::FinishSymbolMachine
@ FinishSymbolMachine
Definition: util_draw_dtk.hpp:3100
Dtk_Roughness::GetSymbolColor
void GetSymbolColor(Dtk_Int32 &outColorId) const
get the color of the Symbol
Dtk_CompositeEntity::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:7816
Dtk_FCFFeatureIndicator::operator=
Dtk_FCFFeatureIndicator & operator=(const Dtk_FCFFeatureIndicator &in)
Copy assignment operator.
Dtk_FCFFeatureIndicatorType::SetIndicatorTypeData
void SetIndicatorTypeData(const Dtk_FCFFeatureIndicatorTypeEnum &inIndicatorType, const Dtk_Oriented2dBBox &inOuterBoundingBox, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements)
Set IndicatorType data.
Definition: util_draw_dtk.hpp:5821
Dtk_Leader::ApplicationZone::Clear
void Clear()
Clear elements.
Definition: util_draw_dtk.hpp:1879
Dtk_View::Create
static Dtk_ViewPtr Create(Dtk_View &&in)
Calls move constructor to allocate a new object.
Dtk_Welding::GetFinishSymbolOtherSide
FinishSymbolEnum GetFinishSymbolOtherSide() const
Retrieves the OtherSide FinishSymbol as FinishSymbolEnum.
Dtk_DatumTarget::TopText
Dtk_CompositeText & TopText()
Retrieves the top text - get/set -.
Dtk_Symbol::TypeCenterMark
@ TypeCenterMark
Definition: util_draw_dtk.hpp:6379
Dtk_DatumTarget::SetFrame
void SetFrame(Dtk_Frame inFrame)
Sets the frame of the Datum Target.
Dtk_Dimension::Dtk_Dimension
Dtk_Dimension(Dtk_Dimension &&in) DTK_NOEXCEPT
Dtk_GeometricalTolerance::GetToleranceSpecificationContainer
const Dtk_ToleranceSpecificationContainerPtr & GetToleranceSpecificationContainer(const Dtk_Size_t &inPos) const
Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -.
Dtk_Oriented2dBBox::GetBottomLeftPoint
Dtk_pnt GetBottomLeftPoint() const
Retrieves the bottom left point - Read Only -.
Definition: util_draw_dtk.hpp:550
Dtk_Grid::Local
@ Local
Definition: util_draw_dtk.hpp:4503
Dtk_Oriented2dBBox::_Reset
void _Reset()
Definition: util_draw_dtk.hpp:501
Dtk_Font::_ID
Dtk_Size_t _ID
Font ID.
Definition: util_draw_dtk.hpp:195
Dtk_Text::GetOuterRotationAngle
Dtk_Double64 GetOuterRotationAngle(const Dtk_dir &inXAxis=Dtk_dir(1, 0, 0), const Dtk_dir &inYAxis=Dtk_dir(0, 1, 0))
Gets the outer bounding box rotation angle giving a reference base.
Dtk_Symbol::_CreateDatumFeatureFrameAsGeometries
Dtk_ErrorStatus _CreateDatumFeatureFrameAsGeometries(Dtk_pnt(&inTabPoints)[DTK_NB_ANCHOR_TYPES])
Internal use only.
DTK_Text_subtype::IsChamfersign
Dtk_bool IsChamfersign() const
Tell if the associated Dtk_text is part of Chamfer Sign group - into Dtk_Dimension -.
Dtk_Leader::ArrowHead::SetWidthHeight
void SetWidthHeight(const Dtk_Double64 inWidth, const Dtk_Double64 inHeight)
Definition: util_draw_dtk.hpp:2138
Dtk_HatchingPattern::Dtk_HatchingPattern
Dtk_HatchingPattern(const Dtk_HatchingPattern &in)
Copy constructor.
Definition: util_draw_dtk.hpp:7597
Dtk_Table::Create
static Dtk_TablePtr Create(const Dtk_Table &in)
CreateCopy{in}.
Dtk_Symbol::TypeCustomSymbol
@ TypeCustomSymbol
Definition: util_draw_dtk.hpp:6384
Dtk_View::GetOLEObject
Dtk_OLEObjectPtr GetOLEObject(const Dtk_Size_t &inIndex) const
Retrieves the OLE Object at index.
DTK_Text_subtype::IsMainvalpart
Dtk_bool IsMainvalpart() const
Tell if the associated Dtk_text is part of Main Value Part group - into Dtk_Dimension -.
Dtk_ToleranceSpecification::operator=
Dtk_ToleranceSpecification & operator=(Dtk_ToleranceSpecification &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_Fdt::SetScreenDisplayAttribute
void SetScreenDisplayAttribute(const ScreenDisplayEnum inType)
Sets the ScreenDisplay attribute of the Dtk_Fdt.
Dtk_ToleranceSpecificationContainer::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_ToleranceSpecification::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES], const Dtk_Int32 &ignoreadd=0) const
Processes all the Dtk_ToleranceSpecification anchor points.
Dtk_Double64
double Dtk_Double64
Definition: define.h:691
Dtk_Welding::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Welding::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&inTabPoints)[DTK_NB_ANCHOR_TYPES])
Dtk_Fdt::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:7238
Dtk_Grid::Dtk_Grid
Dtk_Grid()
Default constructor.
Definition: util_draw_dtk.hpp:4508
Dtk_Welding::GetIndentLineFlag
Dtk_Char8 GetIndentLineFlag() const
Retrieves the IndentLine Flag.
Dtk_Welding::GetOtherSideDepthText
Dtk_CompositeText GetOtherSideDepthText() const
Retrieves the OtherSideDepthText Dtk_CompositeText.
Dtk_Font::Dtk_Font
Dtk_Font(const Dtk_Font &in)
Copy constructor.
Dtk_Dimension::~Dtk_Dimension
~Dtk_Dimension()
Destructor.
Dtk_ToleranceSpecificationContainer::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Leader::ApplicationZone::ApplicationZone
ApplicationZone(const ApplicationZoneEnum &inApplicationZoneType, const Dtk_tab< Dtk_CurvePtr > &inRelatedGeometricalElts)
Full featured constructor.
Dtk_Oriented2dBBox::IsInside
Dtk_bool IsInside(const Dtk_pnt &inPoint) const
Test if a point is inside Dtk_Oriented2dBBox class.
Dtk_Text::OuterYAxis
const Dtk_dir & OuterYAxis() const
Retrieves the outer bounding box YAxis - read only -.
Dtk_OneCell::_BorderLeftColor
Dtk_RGB _BorderLeftColor
Definition: util_draw_dtk.hpp:4060
Dtk_Leader::SetLeaderWidthHeight
void SetLeaderWidthHeight(const Dtk_Double64 &inWidth, const Dtk_Double64 &inHeight)
Dtk_Fdt::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Roughness::SetSymbolColor
void SetSymbolColor(Dtk_Int32 inColorId) const
set the color of the Symbol
Dtk_Welding::WeldingSymbolEnum
WeldingSymbolEnum
Definition: util_draw_dtk.hpp:2934
Dtk_TextStyle::_char_height
Dtk_Double64 _char_height
Height of each char in the text.
Definition: util_draw_dtk.hpp:318
Dtk_Leader::ArrowHead::m_ArrowLocation
Dtk_pnt m_ArrowLocation
Definition: util_draw_dtk.hpp:2063
Dtk_Oriented2dBBox::GetYLength
Dtk_Double64 GetYLength() const
Retrieves the Y length - Read Only -.
Definition: util_draw_dtk.hpp:623
Dtk_Dimension::LinearRadiusDimension
@ LinearRadiusDimension
Definition: util_draw_dtk.hpp:4733
Dtk_Symbol::TypeHoleNote
@ TypeHoleNote
Definition: util_draw_dtk.hpp:6385
Dtk_Region::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_Annotation anchor point.
Dtk_OneCell::GetAdditionnalGeometries
const Dtk_tab< Dtk_EntityPtr > & GetAdditionnalGeometries() const
Retrieves the additionnal geometries of the Dtk_OneCell.
Dtk_Camera::Focus
Dtk_Double64 Focus() const
Definition: util_draw_dtk.hpp:7530
Dtk_Leader::Create
static Dtk_LeaderPtr Create(const Dtk_Double64 &inWidth, const Dtk_Double64 &inHeight, const Dtk_pnt &inArrowLocation, const Dtk_Double64 &inRadius, const LeaderTerminatorTypeEnum &inTerminatorType, const Dtk_pnt &inEndingPnt, const Dtk_pnt &inCenterPnt, const Dtk_bool &IsCounterClockwise)
Angular leader constructor.
Dtk_GeometricalTolerance::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_GeometricalTolerance.
Dtk_Leader::ApplicationZone::~ApplicationZone
~ApplicationZone()
Destructor.
Definition: util_draw_dtk.hpp:1876
Dtk_Unit
Dtk_Unit
Definition: util_draw_dtk.hpp:73
Dtk_View::AddView
void AddView(ViewType typeView)
Set the view as being of a given type.
DTK_Text_subtype::IsNotDefined
Dtk_bool IsNotDefined() const
Dtk_DatumTarget::GetOptionnalBottomTextLeader
const Dtk_LeaderPtr & GetOptionnalBottomTextLeader() const
Retrieves optionnal Leader of the Bottom Text.
Dtk_Fdt::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:7256
Dtk_Welding::Dtk_Welding
Dtk_Welding(const Dtk_pnt &inLocation, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeaders=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 inAngle=0.0, const Dtk_Double64 inOffset=0.0, const Dtk_anchor_type inAnchor_type=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type inJustification=DTK_JUSTIFY_LEFT)
Dtk_ReferenceBlock::DtkDynamicCast
static Dtk_ReferenceBlock * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Roughness::Dtk_Roughness
Dtk_Roughness(const Dtk_pnt &inLocationPnt, Dtk_Text inTopLeftText=Dtk_Text(), Dtk_Text inMiddleLeftText=Dtk_Text(), Dtk_Text inBottomLeftText=Dtk_Text(), Dtk_Text inTopRightText=Dtk_Text(), Dtk_Text inMiddleRightText=Dtk_Text(), Dtk_Text inBottomRightText=Dtk_Text(), const ObtentionTypeEnum &inObtentionType=ObtentionTypeNotDefined, const ApplyToEnum &inApplyToType=ApplyToSpecifiedSurface, const Dtk_InfoPtr &inInfos=NULL, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inAngle=0.0, const Dtk_Double64 &inOffSet=0.0, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Dtk_OneCell::GetText
const Dtk_CompositeText & GetText() const
Dtk_Leader::GetAllAroundSet
Dtk_bool GetAllAroundSet() const
OBSOLETE Retrieves the status of the all around property for the current drawing leader.
Dtk_Leader::Create
static Dtk_LeaderPtr Create(const Dtk_Leader &s)
Calls copy constructor to allocate a new object.
Dtk_Roughness::GetOtherRequirement
Dtk_Text GetOtherRequirement() const
Gets the OtherRequirement text - read only -.
Dtk_Text::AnchorType
Dtk_anchor_type & AnchorType()
Retrieves the text anchor type - get/set -.
Dtk_TextStyle::StyleBold
@ StyleBold
Definition: util_draw_dtk.hpp:256
Dtk_Roughness::GetMiddleRightText
Dtk_Text GetMiddleRightText() const
Gets the middle-right text - read only -.
Dtk_Leader::TerminatorTypeFilledTriangle
@ TerminatorTypeFilledTriangle
Definition: util_draw_dtk.hpp:1983
Dtk_Symbol::TypeCoordinateDimension
@ TypeCoordinateDimension
Definition: util_draw_dtk.hpp:6374
Dtk_Dimension::DistanceDimension
@ DistanceDimension
Definition: util_draw_dtk.hpp:4739
Dtk_Region::SetRectangularHeight
Dtk_ErrorStatus SetRectangularHeight(Dtk_Double64 inHeight)
Sets the height of the rectangular Dtk_Region.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(Dtk_Symbol &&s) DTK_NOEXCEPT
Dtk_DatumTarget::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_DatumTarget.
Dtk_DatumTarget::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Boundary::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Drawing::GetView
Dtk_ViewPtr & GetView(const Dtk_Size_t &inPos)
Retrieves the ith Dtk_View - get/set -.
Dtk_Welding::SymbolSurfaceJointWeld
@ SymbolSurfaceJointWeld
Definition: util_draw_dtk.hpp:2989
Dtk_Hatching::SetApplyScaleOnPattern
void SetApplyScaleOnPattern(bool inApply=true)
Specify if applying transform also scales pattern data. Not active by default.
util_draw_ptr_dtk.hpp
Dtk_Leader::TerminatorTypeDoubleCloseArrow
@ TerminatorTypeDoubleCloseArrow
Definition: util_draw_dtk.hpp:1995
Dtk_Region::DtkDynamicCast
static Dtk_Region * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_TextStyle::CharWidth
Dtk_Double64 & CharWidth()
Retrieves the char width - get/set -.
Dtk_Leader::Dtk_Leader
Dtk_Leader(const Dtk_Double64 &inWidth, const Dtk_Double64 &inHeight, const Dtk_pnt &inArrowLocation, const LeaderTerminatorTypeEnum &inTerminatorType, const Dtk_tab< Dtk_pnt > &inPntsArray)
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_Symbol &in)
Calls copy constructor to allocate a new object.
Dtk_Text::TextStyle
const Dtk_TextStyle & TextStyle() const
Retrieves the text text style - read only -.
DTK_ANCHOR_TOP_LEFT
@ DTK_ANCHOR_TOP_LEFT
Definition: util_draw_dtk.hpp:91
Dtk_Welding::GetArrowSideSecondFilletLengthText
Dtk_CompositeText GetArrowSideSecondFilletLengthText() const
Retrieves the ArrowSideSecondFilletLengthText Dtk_CompositeText.
Dtk_GeometricalTolerance::SetLetteringColor
void SetLetteringColor(const Dtk_RGB &inLetteringColor)
Sets the lettering color for symbol and references.
Dtk_View::GetPicture
Dtk_picturePtr GetPicture(const Dtk_Size_t &inPos) const
Retrieves the ith Picture.
Dtk_View::Create
static Dtk_ViewPtr Create()
Calls default constructor to allocate a new object.
Dtk_Oriented2dBBox::SetXLength
void SetXLength(const Dtk_Double64 &inNewXlength)
Retrieves the X length.
Dtk_ToleranceSpecificationContainer::TolSpecContTypeToDtk_string
static Dtk_string TolSpecContTypeToDtk_string(const TypeEnum inValue)
Dtk_Fdt::ScreenDisplayEnum
ScreenDisplayEnum
Definition: util_draw_dtk.hpp:7220
Dtk_Table::nbCells_Line
Dtk_tab< Dtk_Size_t > nbCells_Line
number of cells on each line (if we consider mergers)
Definition: util_draw_dtk.hpp:4290
Dtk_Symbol::TypeRegion
@ TypeRegion
Definition: util_draw_dtk.hpp:6381
Dtk_Region::CylindricalType
@ CylindricalType
Definition: util_draw_dtk.hpp:7933
Dtk_DatumTarget
This is the Datum Target.
Definition: util_draw_dtk.hpp:3693
Dtk_Oriented2dBBox::SetTopCenterPoint
void SetTopCenterPoint(const Dtk_pnt &inNewPoint)
Sets the top center point.
Dtk_Roughness::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_Annotation anchor points.
Dtk_Welding::AddArrowSideUndefinedText
void AddArrowSideUndefinedText(Dtk_CompositeText inText)
Add an undefined Text to the ArrowSide.
Dtk_ToleranceSpecification::ProcessHeight
Dtk_Double64 ProcessHeight() const
Internal use only.
Dtk_Dimension::ChamferDimension
@ ChamferDimension
Definition: util_draw_dtk.hpp:4737
Dtk_Table::Text
Dtk_CompositeText & Text(const Dtk_Size_t &inRow, const Dtk_Size_t &inCol)
Dtk_ReferenceBlock
This is the Dtk_ReferenceBlock Class. It is part of the Dtk_ReferenceFrame entity.
Definition: util_draw_dtk.hpp:4972
Dtk_Val
Definition: dtk_val.hpp:67
Dtk_Welding::SymbolFlangeCorner
@ SymbolFlangeCorner
Definition: util_draw_dtk.hpp:2975
Dtk_ReferenceBlock::operator=
Dtk_ReferenceBlock & operator=(const Dtk_ReferenceBlock &in)
Full featured constructor.
Dtk_Drawing::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:6711
Dtk_DatumTarget::Translate
void Translate(const Dtk_dir &inTranslationDir)
Translates the Dtk_ReferenceBlock - internal use only -.
Dtk_ToleranceSpecification::ThirdReference
Dtk_ReferenceBlockPtr & ThirdReference()
Retrieves the third reference block - get/set -. This is a shortcut without using Dtk_ReferenceFrame ...
Dtk_Frame::Dtk_Frame
Dtk_Frame(Dtk_Frame &&in) DTK_NOEXCEPT
Move constructor.
Definition: util_draw_dtk.hpp:936
Dtk_Welding::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&inTabPoints)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_Annotation anchor points.
Dtk_Symbol::Texts
Dtk_CompositeText & Texts()
Retrieves the Dtk_CompositeText included into the Dtk_Symbol - get/set -.
Dtk_Welding::AddOtherSideText
void AddOtherSideText(WeldTextType inType, Dtk_CompositeText inText)
Add a Text and its type to the OtherSide.
Dtk_Oriented2dBBox::SetLocalVectors
void SetLocalVectors(const Dtk_dir &inNewXVector, const Dtk_dir &inNewYVector)
Sets the X and Y local vectors.
Definition: util_draw_dtk.hpp:661
Dtk_Roughness
This is the Roughness class.
Definition: util_draw_dtk.hpp:2555
Dtk_TextStyle::StyleItalic
@ StyleItalic
Definition: util_draw_dtk.hpp:258
Dtk_Table::Text
const Dtk_CompositeText & Text(const Dtk_Size_t &inRow, const Dtk_Size_t &inCol) const
Gets the (i,j)th text - get/set -.
Dtk_Leader::TerminatorTypeFilledCircle
@ TerminatorTypeFilledCircle
Definition: util_draw_dtk.hpp:1969
Dtk_ReferenceBlock::Create
static Dtk_ReferenceBlockPtr Create(const Dtk_ReferenceBlock &in)
Calls copy constructor to allocate a new object.
Dtk_TextStyle::Dtk_TextStyle
Dtk_TextStyle()
Default constructor.
Dtk_Leader::IncludeOptions
IncludeOptions
Definition: util_draw_dtk.hpp:2048
Dtk_Welding::Create
static Dtk_WeldingPtr Create()
Calls default constructor to allocate a new object.
Dtk_ToleranceSpecificationContainer::GetTopTextLabel
Dtk_string GetTopTextLabel() const
Retrieves the Dtk_ToleranceSpecificationContainer top-text - read only -.
Dtk_Dimension::CurvilinearDimension
@ CurvilinearDimension
Definition: util_draw_dtk.hpp:4725
Dtk_Dimension::BasicTypeFlagRight
@ BasicTypeFlagRight
Definition: util_draw_dtk.hpp:4747
Dtk_Leader::ArrowHead::SetData
void SetData(const Dtk_Double64 inWidth, const Dtk_Double64 inHeight, const Dtk_pnt &inArrowLocation, const LeaderTerminatorTypeEnum inTerminatorType, const Dtk_InfoPtr &inInfos, const Dtk_dir &inRefDir, const Dtk_dir &inAxisDir)
Definition: util_draw_dtk.hpp:2107
Dtk_Drawing::Height
const Dtk_Double64 & Height() const
Retrieves the drawing height - read only -.
Dtk_Symbol::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:6424
Dtk_FCFFeatureIndicatorType::operator=
Dtk_FCFFeatureIndicatorType & operator=(const Dtk_FCFFeatureIndicatorType &in)
Copy assignment operator.
Definition: util_draw_dtk.hpp:5858
Dtk_Welding::ComplementarySymbolEnumToString
static Dtk_string ComplementarySymbolEnumToString(const ComplementarySymbolEnum &inEnum)
Definition: util_draw_dtk.hpp:3075
Dtk_ReferenceFrame::Dtk_ReferenceFrame
Dtk_ReferenceFrame(const Dtk_ReferenceBlockPtr &ref)
Dtk_FCFFeatureIndicatorType::CollectionPlane
@ CollectionPlane
Definition: util_draw_dtk.hpp:5762
Dtk_Welding::SetArrowSideSecondFilletLengthText
void SetArrowSideSecondFilletLengthText(Dtk_CompositeText inArrowSideSecondFilletLengthText)
Sets the ArrowSideSecondFilletLengthText Dtk_CompositeText.
Dtk_Roughness::GetBottomLeftText
Dtk_Text GetBottomLeftText() const
Gets the bottom-left text - read only -.
Dtk_Roughness::SetRoughnessType
Dtk_ErrorStatus SetRoughnessType(const ObtentionTypeEnum &inObtentionType)
Sets the obtention type.
Dtk_Region::SetCircularDiameter
Dtk_ErrorStatus SetCircularDiameter(Dtk_Double64 inDiameter)
Sets the diameter of the circular Dtk_Region.
Dtk_Leader::SetArrowHead
void SetArrowHead(const ArrowHead &inArroWHead)
Dtk_Text::Text
Dtk_string & Text()
Retrieves the text string - get/set -.
Dtk_Welding::GetArrowSideDepthText
Dtk_CompositeText GetArrowSideDepthText() const
Retrieves the ArrowSideDepthText Dtk_CompositeText.
Dtk_HatchingPattern::_color
Dtk_RGB _color
Definition: util_draw_dtk.hpp:7580
Dtk_Region::operator=
Dtk_Region & operator=(const Dtk_Region &in)
Copy assignment operator.
Dtk_TextStyle::_ratio
Dtk_Double64 _ratio
Char Ratio. It represents the stretch of the width of the text. Default value is 1.
Definition: util_draw_dtk.hpp:328
Dtk_Fdt::ScreenDisplayEnumToString
static Dtk_string ScreenDisplayEnumToString(const ScreenDisplayEnum &inEnum)
Definition: util_draw_dtk.hpp:7227
Dtk_ViewDisplay::GetVisibleEdgesLineStyle
Dtk_ErrorStatus GetVisibleEdgesLineStyle(Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor) const
Retrieves Line style for Visible Edges.
dtk_pnt.hpp
Dtk_ReferenceFrame::Dtk_ReferenceFrame
Dtk_ReferenceFrame(const Dtk_ReferenceFrame &s)
Dtk_Oriented2dBBox::_YLocalVector
Dtk_dir _YLocalVector
Definition: util_draw_dtk.hpp:472
Dtk_Symbol::TypeAnnotationTable
@ TypeAnnotationTable
Definition: util_draw_dtk.hpp:6369
Dtk_FCFFeatureIndicator::Dtk_FCFFeatureIndicator
Dtk_FCFFeatureIndicator()
Definition: util_draw_dtk.hpp:5901
DTK_FRAME_TYPE_SYMMETRICAL_SET
@ DTK_FRAME_TYPE_SYMMETRICAL_SET
Definition: util_draw_dtk.hpp:162
Dtk_Grid::GetMajorLineWidth
Dtk_Double64 GetMajorLineWidth() const
Gets the major line width.
Dtk_Dimension::SetAsDeprecated
SetAsDeprecated("2025.4", "Use Dtk_LeaderPtr GetNumLeaders() and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead") Dtk_Size_t GetNumExtensionLines() const
Retrieves the extension lines number - read only -.
DTK_TYPE_REFERENCE_FRAME
@ DTK_TYPE_REFERENCE_FRAME
Definition: define.h:465
Dtk_GeometricalTolerance::at
Dtk_ToleranceSpecificationContainerPtr & at(const Dtk_Size_t &inPos)
Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -.
Dtk_Roughness::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Leader::SetStubDelta
void SetStubDelta(const double &inStubDelta)
Set the value of the leader stub.
Dtk_Font
This is the font class This class lets you access to font information (name, type ....
Definition: util_draw_dtk.hpp:181
Dtk_Text::OuterLocation
const Dtk_pnt & OuterLocation() const
Retrieves the outer bounding box location - read only -.
Dtk_Roughness::Create
static Dtk_RoughnessPtr Create(const Dtk_pnt &inLocationPnt, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inAngle=0.0, const Dtk_Double64 &inOffSet=0.0, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Full featured constructor.
Dtk_Oriented2dBBox::ProcessIntersectionWithLine
Dtk_Int32 ProcessIntersectionWithLine(const Dtk_pnt &inPntA, const Dtk_pnt &inPntB, Dtk_pnt &outIntersectionPnt1, Dtk_pnt &outIntersectionPnt2, const Dtk_bool &inTestComplanarity=DTK_FALSE) const
Processes intersection points with a line giving two points on the line.
Dtk_Grid::GetMajorLineStyle
Dtk_FontLineType GetMajorLineStyle() const
Gets the major line font line type.
Dtk_CompositeEntity::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:7849
DTK_TYPE_BOUNDARY
@ DTK_TYPE_BOUNDARY
Definition: define.h:612
Dtk_Grid::GetDisplayOnTopOption
Dtk_bool GetDisplayOnTopOption() const
Gets the display on top option.
Dtk_Welding::SetBrazingArrowSide
void SetBrazingArrowSide(const Dtk_bool inBrazing=DTK_TRUE)
Sets the Brazing flag for the ArrowSide.
Dtk_Hatching::Patterns
Dtk_tab< Dtk_HatchingPattern > & Patterns()
Retrieves the hatching area patterns. Patterns describes hatch line presentations (angle,...
Dtk_OneCell::getHeight
Dtk_Double64 getHeight() const
Gets the height of the Dtk_OneCell.
Dtk_Welding::SymbolSurfacingWeld
@ SymbolSurfacingWeld
Definition: util_draw_dtk.hpp:2967
Dtk_Table::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_Annotation anchor points.
Dtk_Table::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_Annotation anchor point.
Dtk_Hatching::Dtk_Hatching
Dtk_Hatching()
Dtk_Welding::SymbolScarfWeld
@ SymbolScarfWeld
Definition: util_draw_dtk.hpp:2981
Dtk_ToleranceSpecificationContainer::TypeCylindricity
@ TypeCylindricity
Definition: util_draw_dtk.hpp:6064
DTK_ALIGN_NONE
@ DTK_ALIGN_NONE
Definition: util_draw_dtk.hpp:104
Dtk_ToleranceSpecificationContainer::LeftTextAsCompositeText
const Dtk_CompositeText & LeftTextAsCompositeText() const
Retrieves the Dtk_ToleranceSpecificationContainer left-text as Dtk_CompositeText - read only -.
Dtk_Welding::ProcessSymbolInfos
void ProcessSymbolInfos(Dtk_tab< Dtk_pnt > &outPnts) const
Process the Welding Symbol Informations as shown in the picture below.
Dtk_OneCell::GetBorderTopColor
const Dtk_RGB & GetBorderTopColor()
Gets BorderTopColor of Top border.
Dtk_Leader::TerminatorTypeBottomOpenArrow
@ TerminatorTypeBottomOpenArrow
Definition: util_draw_dtk.hpp:2003
util_topology_ptr_dtk.hpp
Dtk_CompositeEntity::Create
static Dtk_CompositeEntityPtr Create(Dtk_CompositeEntity &&in)
Calls move constructor to allocate a new object.
DTK_FRAME_TYPE_SQUARE
@ DTK_FRAME_TYPE_SQUARE
Definition: util_draw_dtk.hpp:129
Dtk_FCFFeatureIndicatorType::_Copy
void _Copy(const Dtk_FCFFeatureIndicatorType &s)
Dtk_ViewDisplay::Create
static Dtk_ViewDisplayPtr Create(const Dtk_ViewDisplay &in)
Calls copy constructor to allocate a new object.
DTK_FRAME_TYPE_CIRCLE
@ DTK_FRAME_TYPE_CIRCLE
Definition: util_draw_dtk.hpp:131
Dtk_FCFFeatureIndicatorType::m_OuterBBox
Dtk_Oriented2dBBox m_OuterBBox
Definition: util_draw_dtk.hpp:5771
Dtk_Boundary::operator=
Dtk_Boundary & operator=(Dtk_Boundary &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_Text::InnerXAxis
Dtk_dir & InnerXAxis()
Retrieves the inner bounding box XAxis - get/set -.
Dtk_Leader::TerminatorTypeBottomFillArrow
@ TerminatorTypeBottomFillArrow
Definition: util_draw_dtk.hpp:2007
Dtk_Drawing::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
DTK_Text_subtype::IsChamferright
Dtk_bool IsChamferright() const
Tell if the associated Dtk_text is part of Chamfer Right group - into Dtk_Dimension -.
Dtk_Grid::GetMinorLineStyle
Dtk_FontLineType GetMinorLineStyle() const
Gets the minor line font line type.
Dtk_ReferenceFrame
This is the Reference Frame Class. It is part of the Dtk_ToleranceSpecification entity....
Definition: util_draw_dtk.hpp:5145
Dtk_ReferenceBlock::SetYAxis
Dtk_ErrorStatus SetYAxis(const Dtk_dir &axis_dir)
Sets the Y Axis for the Dtk_CompositeText and included Dtk_Texts.
Dtk_Hatching::get_type_detk
type_detk get_type_detk() const
Dtk_View::DtkDynamicCast
static Dtk_View * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Leader::ArrowHead::ArrowHead
ArrowHead(const Dtk_Double64 inWidth, const Dtk_Double64 inHeight, const Dtk_pnt &inArrowLocation, const LeaderTerminatorTypeEnum inTerminatorType, const Dtk_InfoPtr &inInfos, const Dtk_dir &inRefDir, const Dtk_dir &inAxisDir)
Definition: util_draw_dtk.hpp:2091
Dtk_Roughness::DtkDynamicCast
static Dtk_Roughness * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Annotation::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:2400
Dtk_OneCell::GetBorderLeftBlanked
Dtk_Int32 GetBorderLeftBlanked()
Gets BorderLeftBlanked of Left border.
Dtk_ReferenceBlock::Dtk_ReferenceBlock
Dtk_ReferenceBlock(const Dtk_ReferenceBlock &in)
Dtk_CompositeEntity::AddPictures
void AddPictures(const Dtk_tab< Dtk_picturePtr > &inEltArray)
Adds an array of Dtk_EntityPtr. Calls Dtk_CompositeEntity::AddPicture for each elements.
Dtk_Welding::Create
static Dtk_WeldingPtr Create(const Dtk_pnt &inLocation, Dtk_CompositeText inTailText, const Dtk_bool inFieldWeldActivated, const Dtk_Char8 inIndentLineFlag, const Dtk_bool inTailActivated, const Dtk_bool inReverseTailAndField, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeaders, const Dtk_Double64 inAngle, const Dtk_Double64 inOffset, const Dtk_anchor_type inAnchorType, const Dtk_justication_type inJustification)
Calls full featured constructor to allocate a new object.
DTK_TYPE_LEADER
@ DTK_TYPE_LEADER
Definition: define.h:463
Dtk_DatumTarget::Create
static Dtk_DatumTargetPtr Create(Dtk_CompositeText inTopText, Dtk_CompositeText inBottomText, const Dtk_pnt &inLocationPnt, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inAngle=0.0, const Dtk_Double64 &inOffSet=0.0, const Dtk_bool &inHasFrame=DTK_TRUE, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Calls full featured constructor to allocate a new object.
Dtk_Fdt::Dtk_Fdt
Dtk_Fdt()
Dtk_View::SetViewDisplay
void SetViewDisplay(Dtk_ViewDisplayPtr inDisplay)
SetDisplayMode for 3D entity to be displayed.
Dtk_TextStyle::_attributes
TextAttributeEnum _attributes
Text Attribute (Underline, etc...)
Definition: util_draw_dtk.hpp:314
Dtk_TextStyle::Ratio
const Dtk_Double64 & Ratio() const
Retrieves the text ratio - Read Only -.
Dtk_Welding::WeldTextSecondFilletLength
@ WeldTextSecondFilletLength
Definition: util_draw_dtk.hpp:3070
Dtk_Camera::ProcessYZoomFactor
Dtk_Double64 ProcessYZoomFactor() const
Processes the Y - along height - zoom factor - read only -.
Definition: util_draw_dtk.hpp:7495
Dtk_Welding::SymbolSingeVButtWeld
@ SymbolSingeVButtWeld
Definition: util_draw_dtk.hpp:2939
DTK_Text_subtype::IsValSplitPart1
Dtk_bool IsValSplitPart1() const
Tell if the associated Dtk_text is part of Value Split Part 1 - for Degrees/Minutes/Seconds form - gr...
Dtk_TextStyle::_line_spacing
Dtk_Double64 _line_spacing
Spacing between two lines in the text - for multiline texts for example -.
Definition: util_draw_dtk.hpp:324
DTK_INDIFFERENT_HIERARCHY
@ DTK_INDIFFERENT_HIERARCHY
Definition: util_draw_dtk.hpp:67
Dtk_ReferenceBlock::SetInnerBoundingBox
void SetInnerBoundingBox(const Dtk_Oriented2dBBox &inInnerBBox)
Set the inner Bounding Box.
Dtk_ReferenceBlock::Create
static Dtk_ReferenceBlockPtr Create(const Dtk_Oriented2dBBox &inInnerBBox, const Dtk_Oriented2dBBox &inOuterBBox)
Calls full featured constructor to allocate a new object.
Dtk_Hatching::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Region::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_HatchingPattern::HatchingStyle
Dtk_HatchingStyle & HatchingStyle()
Dtk_Welding::AddArrowSideAssociatedGeometry
void AddArrowSideAssociatedGeometry(Dtk_EntityPtr inAssociatedGeometry)
Add an AssociatedGeometry of the ArrowSide.
Dtk_Welding::Create
static Dtk_WeldingPtr Create(const Dtk_Welding &in)
Calls copy constructor to allocate a new object.
Dtk_Font::ID
Dtk_Size_t & ID()
Retrieves the font Id - get/set -.
DTK_JUSTIFY_RIGHT
@ DTK_JUSTIFY_RIGHT
Definition: util_draw_dtk.hpp:121
Dtk_OneCell::get_min_Height
Dtk_Double64 get_min_Height()
Gets the original height.
Dtk_Leader::TerminatorTypeSlash
@ TerminatorTypeSlash
Definition: util_draw_dtk.hpp:1975
Dtk_Roughness::Dtk_Roughness
Dtk_Roughness(Dtk_Roughness &&s) DTK_NOEXCEPT
Dtk_DatumTarget::DtkDynamicCast
static Dtk_DatumTarget * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Hatching::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:7750
Dtk_Drawing::GetView
const Dtk_ViewPtr & GetView(const Dtk_Size_t &inPos) const
Retrieves the ith Dtk_View - read only -.
Dtk_Text::NoMirroring
@ NoMirroring
Definition: util_draw_dtk.hpp:1113
Dtk_Roughness::Create
static Dtk_RoughnessPtr Create(const Dtk_pnt &inLocationPnt, Dtk_Text inTopLeftText=Dtk_Text(), Dtk_Text inMiddleLeftText=Dtk_Text(), Dtk_Text inBottomLeftText=Dtk_Text(), Dtk_Text inTopRightText=Dtk_Text(), Dtk_Text inMiddleRightText=Dtk_Text(), Dtk_Text inBottomRightText=Dtk_Text(), const ObtentionTypeEnum &inObtentionType=ObtentionTypeNotDefined, const ApplyToEnum &inApplyToType=ApplyToSpecifiedSurface, const Dtk_InfoPtr &inInfos=NULL, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inAngle=0.0, const Dtk_Double64 &inOffSet=0.0, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Full featured constructor.
Dtk_Text::AnchorType
const Dtk_anchor_type & AnchorType() const
Retrieves the text anchor type - read only -.
Dtk_Dimension::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:4758
Dtk_Text::InnerTranslate
Dtk_ErrorStatus InnerTranslate(const Dtk_dir &inTranslateDir)
Translates the inner bounding box giving a translation vector.
Dtk_Region::GetAnnularInnerDiameter
Dtk_ErrorStatus GetAnnularInnerDiameter(Dtk_Double64 &outDiameter)
Gets the inner diameter of the annular Dtk_Region.
Dtk_ToleranceSpecificationContainer::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_ToleranceSpecificationContainer.
Dtk_SmartPtr::Clone
void Clone(Dtk_SmartPtr< T > &out) const
Definition: util_ptr_dtk.hpp:192
Dtk_Grid::GetDisplayOriginReferenceOption
OriginReferenceOption GetDisplayOriginReferenceOption() const
Gets the display origin reference option.
Dtk_Welding::GetWeldingSymbolOtherSide
WeldingSymbolEnum GetWeldingSymbolOtherSide() const
Retrieves the OtherSide WeldingSymboEnum.
Dtk_DatumTarget::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:3772
Dtk_Region::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:7975
Dtk_Roughness::GetRoughnessApplyTo
ApplyToEnum GetRoughnessApplyTo() const
Gets the apply-to type - read only -.
Dtk_Hatching::DtkDynamicCast
static Dtk_Hatching * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Frame::_Reset
void _Reset()
Definition: util_draw_dtk.hpp:924
Dtk_Welding::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_Welding.
Dtk_DatumTarget::Create
static Dtk_DatumTargetPtr Create()
Calls default constructor to allocate a new object.
Dtk_Hatching::~Dtk_Hatching
~Dtk_Hatching()
Destructor.
Dtk_Leader::TypeLinear
@ TypeLinear
Definition: util_draw_dtk.hpp:2185
Dtk_Annotation::operator=
Dtk_Annotation & operator=(Dtk_Annotation &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_2dEntity::_Init
void _Init()
Dtk_CompositeEntity
This is the Dtk_CompositeEntity class.
Definition: util_draw_dtk.hpp:7814
Dtk_DatumTarget::GetGeometries
Dtk_tab< Dtk_EntityPtr > GetGeometries() const
Retrieves the Dtk_DatumTarget geometries - frame -.
Dtk_Welding::SetOtherSideSizeText
void SetOtherSideSizeText(Dtk_CompositeText inOtherSideSizeText)
Sets the OtherSideSizeText Dtk_CompositeText.
Dtk_Oriented2dBBox::_XLength
Dtk_Double64 _XLength
Definition: util_draw_dtk.hpp:473
Dtk_CompositeText::operator[]
Dtk_Text & operator[](Dtk_Size_t inPos)
Access operator - get/set -.
Dtk_Welding::FinishSymbolGrind
@ FinishSymbolGrind
Definition: util_draw_dtk.hpp:3096
Dtk_Boundary
This is the Boundary class. The boundary defines the curves that delimit a closed area.
Definition: util_draw_dtk.hpp:7675
Dtk_ToleranceSpecificationContainer::GetToleranceSpecificationBoundingBox
Dtk_ErrorStatus GetToleranceSpecificationBoundingBox(const Dtk_Size_t &inTolSpecPos, Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the ith Dtk_ToleranceSpecification anchor points.
Dtk_View::Get2dEntity
Dtk_2dEntityPtr Get2dEntity(const Dtk_Size_t &inPos) const
Retrieves the ith 2D entity.
Dtk_Table::tableOfCell
Dtk_OneCell ** tableOfCell
A table of cells.
Definition: util_draw_dtk.hpp:4284
Dtk_Text::GetOuterXYAxis
void GetOuterXYAxis(Dtk_dir &outXAxis, Dtk_dir &outYAxis) const
Gets the outer bounding box orientation.
Dtk_Welding::GetFinishSymbolArrowSide
FinishSymbolEnum GetFinishSymbolArrowSide() const
Retrieves the ArrowSide FinishSymbol as FinishSymbolEnum.
Dtk_Oriented2dBBox::XLocalVector
Dtk_dir XLocalVector() const
Retrieves the X local vector - Read Only -.
Definition: util_draw_dtk.hpp:630
Dtk_Roughness::Dtk_Roughness
Dtk_Roughness()
Dtk_ToleranceSpecification::SecondReference
Dtk_ReferenceBlockPtr & SecondReference()
Retrieves the second reference block - get/set -. This is a shortcut without using Dtk_ReferenceFrame...
Dtk_Leader::GetLeaderCurve
Dtk_CurvePtr GetLeaderCurve() const
Returns the leader curve.
Dtk_Text::operator=
Dtk_Text & operator=(Dtk_Text &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_ViewDisplay::Dtk_ViewDisplay
Dtk_ViewDisplay(Dtk_ViewDisplay &&s) DTK_NOEXCEPT
Dtk_CompositeEntity::Clear
void Clear()
Resets all sub entities.
Dtk_Leader::ConvertToGeom
void ConvertToGeom(Dtk_tab< Dtk_CurvePtr > &outGeomsArray, const IncludeOptions inConvertToGeomFilter=IncludeAll, Dtk_Int32 inByPolygon=DTK_FALSE) const
Converts the Dtk_Leader to geometrical elements.
Dtk_View::GetNum2dEntities
Dtk_Size_t GetNum2dEntities() const
Retrieves the 2D entities number - read only -.
DTK_ALIGN_LEFT
@ DTK_ALIGN_LEFT
Definition: util_draw_dtk.hpp:106
Dtk_Roughness::ModeParallel
@ ModeParallel
Definition: util_draw_dtk.hpp:2590
Dtk_Leader::ArrowHead::operator=
ArrowHead & operator=(const ArrowHead &in)
Copy assignment operator.
Definition: util_draw_dtk.hpp:2167
Dtk_Annotation::~Dtk_Annotation
virtual ~Dtk_Annotation()
Destructor.
Dtk_TextStyle::TextJustificationEnum
TextJustificationEnum
Definition: util_draw_dtk.hpp:287
DTK_UNIT_M
@ DTK_UNIT_M
Definition: util_draw_dtk.hpp:78
Dtk_Text::CreateFrameAsGeometry
Dtk_ErrorStatus CreateFrameAsGeometry(Dtk_tab< Dtk_CurvePtr > &outGeoms) const
Creates geometries corresponding to the text frame type.
Dtk_Oriented2dBBox::BottomLeftPoint
Dtk_pnt & BottomLeftPoint()
Retrieves the bottom left point.
Definition: util_draw_dtk.hpp:726
DTK_ANCHOR_TOP_RIGHT
@ DTK_ANCHOR_TOP_RIGHT
Definition: util_draw_dtk.hpp:93
Dtk_Boundary::DtkDynamicCast
static Dtk_Boundary * DtkDynamicCast(Dtk_Object *)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Leader::ArrowHead::SetType
void SetType(const LeaderTerminatorTypeEnum inTerminatorType)
Definition: util_draw_dtk.hpp:2126
Dtk_Camera::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_ReferenceFrame::Create
static Dtk_ReferenceFramePtr Create()
Calls default constructor to allocate a new object.
Dtk_Leader::ApplicationZone::SetApplicationData
void SetApplicationData(const ApplicationZoneEnum &inApplicationZoneType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements)
Set ApplicationZone informations.
Definition: util_draw_dtk.hpp:1888
util_ent_dtk.hpp
DTK_FDT_MODIFIER_MAX_MATERIAL
@ DTK_FDT_MODIFIER_MAX_MATERIAL
Definition: util_draw_dtk.hpp:56
Dtk_CompositeText::SetOuterXYAxis
Dtk_ErrorStatus SetOuterXYAxis(const Dtk_dir &inXaxis, const Dtk_dir &inYaxis)
Sets the outer bounding box X and Y axes for the Dtk_CompositeText and included Dtk_Texts.
Dtk_Leader::GetInfo
Dtk_InfoPtr & GetInfo()
Retrieves the infos.
Dtk_Welding::SymbolFilletWeld
@ SymbolFilletWeld
Definition: util_draw_dtk.hpp:2951
Dtk_OneCell::get_min_Width
Dtk_Double64 get_min_Width()
Gets the original width of the Dtk_Onecell.
Dtk_OneCell::GetText
Dtk_CompositeText & GetText()
Gets the text witch is in the Dtk_OneCell.
Dtk_Table::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_Annotation.
Dtk_DatumTarget::HasFrame
const Dtk_bool & HasFrame() const
Retrieves the frame status - read only -.
Dtk_anchor_type
Dtk_anchor_type
Definition: util_draw_dtk.hpp:90
Dtk_Grid::GetVMinorPerMajor
Dtk_Int32 GetVMinorPerMajor() const
Gets V minor lines per major.
Dtk_2dEntity::~Dtk_2dEntity
virtual ~Dtk_2dEntity()
Destructor.
Dtk_Oriented2dBBox::SetTopRightPoint
void SetTopRightPoint(const Dtk_pnt &inNewPoint)
Sets the top right point.
Dtk_OneCell::getWidth
Dtk_Double64 getWidth() const
Gets the width of the Dtk_OneCell.
Dtk_ToleranceSpecification::ThirdReference
const Dtk_ReferenceBlockPtr & ThirdReference() const
Retrieves the third reference block - read only -. This is a shortcut without using Dtk_ReferenceFram...
Dtk_Camera::ProjectionType
const Dtk_Camera::ProjectionTypeEnum & ProjectionType() const
Retrieves the projection type - read only -.
Dtk_ReferenceFrame::~Dtk_ReferenceFrame
~Dtk_ReferenceFrame()
Destructor.
DTK_Text_type
DTK_Text_type
Definition: str_def.h:11
Dtk_Symbol::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Int32
int32_t Dtk_Int32
Definition: define.h:679
Dtk_Grid::Absolute
@ Absolute
Definition: util_draw_dtk.hpp:4501
Dtk_Welding::AddAssociatedGeometry
void AddAssociatedGeometry(Dtk_EntityPtr inAssociatedGeometry)
Add a Geometry associated to whole Dtk_Welding (Weld body and tail).
Dtk_ReferenceBlock::_ConcatenateMaterialModifierToText
void _ConcatenateMaterialModifierToText(const Dtk_Size_t &inReferencePos, const DTK_FDT_MODIFIER &inMaterialModifier)
Internal use only.
Dtk_GeometricalTolerance::Create
static Dtk_GeometricalTolerancePtr Create(const Dtk_GeometricalTolerance &in)
Calls copy constructor to allocate a new object.
Dtk_ToleranceSpecificationContainer::SetToleranceSpecification
Dtk_ErrorStatus SetToleranceSpecification(const Dtk_Size_t &inPos, const Dtk_ToleranceSpecificationPtr &inNewTolSpec)
Replaces the ith tolerance specification .
Dtk_GeometricalTolerance::operator=
Dtk_GeometricalTolerance & operator=(const Dtk_GeometricalTolerance &in)
Copy assignment operator.
Dtk_tab::resize
void resize(Dtk_Size_t n, const T &t)
Resizes the array.
Definition: util_stl_dtk.hpp:604
Dtk_View::Add2dEntity
Dtk_ErrorStatus Add2dEntity(const Dtk_2dEntityPtr &in2DEntity)
Adds a 2D entity to the view.
Dtk_Welding::GetArrowSideUndefinedText
Dtk_CompositeText GetArrowSideUndefinedText() const
Retrieves the ArrowSideUndefinedText Dtk_CompositeText.
Dtk_Text::TextType
DTK_Text_type & TextType()
Retrieves the text type - get/set -.
Dtk_TextStyle::_font
Dtk_Font _font
Font informations.
Definition: util_draw_dtk.hpp:310
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_2dEntityPtr &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE, const Dtk_bool &inKeepLeaderAsLeader=DTK_FALSE)
Create from Dtk_2dEntityPtr.
Dtk_Welding::SetOtherSideAssociatedGeometries
void SetOtherSideAssociatedGeometries(Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries)
Set the AssociatedGeometries of the OtherSide.
Dtk_Welding::SymbolStudWeld
@ SymbolStudWeld
Definition: util_draw_dtk.hpp:2983
Dtk_Fdt::Create
static Dtk_FdtPtr Create(Dtk_Fdt &&inToBeMoved)
Calls move constructor to allocate a new object.
Dtk_View
This class is used to represent a drawing view of a 3D model. It can also be used to represent parts ...
Definition: util_draw_dtk.hpp:6970
Dtk_GeometricalTolerance::Translate
void Translate(const Dtk_dir &inTranslationDir)
Dtk_Roughness::_GetStartPoint
Dtk_pnt _GetStartPoint() const
Dtk_Welding::Dtk_Welding
Dtk_Welding(Dtk_Welding &&s) DTK_NOEXCEPT
Dtk_Leader::SetLeaderTerminatorType
void SetLeaderTerminatorType(const LeaderTerminatorTypeEnum &inTerminatorType)
Set the Leader Terminator Type.
Dtk_Roughness::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES])
Processes all the Dtk_Annotation anchor points.
Dtk_ToleranceSpecification::Dtk_ToleranceSpecification
Dtk_ToleranceSpecification(Dtk_Text inFullTextWithMaterialCondition, const Dtk_ReferenceFramePtr &inReferenceFrame=Dtk_ReferenceFrame::Create())
Dtk_CompositeText::Dtk_CompositeText
Dtk_CompositeText(Dtk_Text inText)
Constructor from one Dtk_Text.
Dtk_DatumTarget::DisableFrame
void DisableFrame()
Disables the frame status.
Dtk_Symbol::TypeDatum
@ TypeDatum
Definition: util_draw_dtk.hpp:6362
Dtk_Text::Dtk_Text
Dtk_Text(Dtk_string inTextString, const Dtk_Oriented2dBBox &inInnerBox, const Dtk_Oriented2dBBox &inOuterBox, const Dtk_Double64 &inSlant, const Dtk_bool &inHorizontalVerticalType, const DTK_Text_type &inTextType, const Dtk_InfoPtr &inInfos, const Dtk_TextStyle &inTextStyle)
Constructor.
Dtk_Table::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Fdt::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Leader::TerminatorTypeIntegral
@ TerminatorTypeIntegral
Definition: util_draw_dtk.hpp:1989
Dtk_Symbol::TypeGeom
@ TypeGeom
Definition: util_draw_dtk.hpp:6375
Dtk_TextStyle::Dtk_TextStyle
Dtk_TextStyle(Dtk_TextStyle &&in) DTK_NOEXCEPT
Move constructor.
DTK_TYPE_GRID
@ DTK_TYPE_GRID
Definition: define.h:442
Dtk_Welding::GetWeldTailActivated
Dtk_bool GetWeldTailActivated() const
Tells if the Weld Tail is activated.
Dtk_Text::TextSubType
const DTK_Text_subtype & TextSubType() const
Retrieves the text subtype - read only -.
Dtk_Welding::SetArrowSideDepthText
void SetArrowSideDepthText(Dtk_CompositeText inArrowSideDepthText)
Sets the ArrowSideDepthText Dtk_CompositeText.
Dtk_Table::Set_Texts
void Set_Texts(const Dtk_Size_t &inRowIdx, const Dtk_Size_t &inColIdx, Dtk_CompositeText inText)
Sets the (inRowIdx,inColIdx)th text.
DTK_UNIT_KM
@ DTK_UNIT_KM
Definition: util_draw_dtk.hpp:79
Dtk_ToleranceSpecificationContainer::TypeSymmetry
@ TypeSymmetry
Definition: util_draw_dtk.hpp:6080
Dtk_Welding::WeldTextSize
@ WeldTextSize
Definition: util_draw_dtk.hpp:3066
Dtk_Symbol::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_Symbol.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_WeldingPtr &inToBeConverted, const Dtk_bool &inTextAutoFlip)
Create from Dtk_WeldingPtr.
Dtk_GeometricalTolerance::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:5570
Dtk_Leader::GetStubDelta
double GetStubDelta() const
Retrieves the value of the leader stub.
Dtk_Text::SetOuterYLength
void SetOuterYLength(const Dtk_Double64 &inYLength)
Sets the outer bounding box Y length.
Dtk_Leader::RetrieveLeader_terminator_infos
Dtk_ErrorStatus RetrieveLeader_terminator_infos(Dtk_Double64 &outWidth, Dtk_Double64 &outHeight, Dtk_pnt &outArrowLocation, LeaderTerminatorTypeEnum &outTerminatorType) const
Retrieves the leader terminator informations.
Dtk_Welding::SymbolPermanentBackingStripUsed
@ SymbolPermanentBackingStripUsed
Definition: util_draw_dtk.hpp:2965
Dtk_Dimension::Create
static Dtk_DimensionPtr Create()
Calls default constructor to allocate a new object.
Dtk_Leader::ArrowHead::GetArrowLocation
const Dtk_pnt & GetArrowLocation() const
Definition: util_draw_dtk.hpp:2124
Dtk_DatumTarget::SetOptionnalTopTextLeader
void SetOptionnalTopTextLeader(const Dtk_LeaderPtr &inLeader)
Sets the optionnal Leader of the Top Text.
Dtk_Leader::ApplicationZone::GetGeometries
void GetGeometries(Dtk_tab< Dtk_CurvePtr > &outGeoms) const
Process Related geometries.
Definition: util_draw_dtk.hpp:1900
Dtk_HatchingPattern::Offset
const Dtk_Double64 & Offset() const
Retrieves the position start offset along the hatch line. Applies for hatching and dotting.
DTK_Text_subtype::IsTolUpperTol
Dtk_bool IsTolUpperTol() const
Tell if the associated Dtk_text is part of Tolerance Upper Value group - into Dtk_Dimension -.
Dtk_Dimension::DimensionTypeEnum
DimensionTypeEnum
Definition: util_draw_dtk.hpp:4719
Dtk_Hatching::AddBoundary
void AddBoundary(Dtk_Boundary boundary)
Adds a boundary to the hatching area.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_CompositeEntityPtr &inToBeConverted, const Dtk_bool &inTextAutoFlip)
Create from Dtk_CompositeEntityPtr.
Dtk_Leader::ArrowHead::GetWidthHeight
void GetWidthHeight(Dtk_Double64 &outWidth, Dtk_Double64 &outHeight) const
Definition: util_draw_dtk.hpp:2133
Dtk_OneCell::setHeight
void setHeight(const double &inHeight)
Sets the Dtk_OneCell height.
Dtk_OneCell::SetBorderTopColor
void SetBorderTopColor(const Dtk_Int32 &inBorderTopColor)
Sets BorderTopColor of Top border.
DTK_Text_subtype::IsLeftText
Dtk_bool IsLeftText() const
Tell if the associated Dtk_text is part of left group - into Dtk_Dimension -.
Dtk_Leader::TerminatorTypeXCircle
@ TerminatorTypeXCircle
Definition: util_draw_dtk.hpp:1979
Dtk_ReferenceFrame::Translate
void Translate(const Dtk_dir &inTranslationDir)
Dtk_Char8
char Dtk_Char8
Definition: define.h:689
Dtk_Oriented2dBBox::GetMiddleCenterPoint
Dtk_pnt GetMiddleCenterPoint() const
Retrieves the middle center point - Read Only -.
Definition: util_draw_dtk.hpp:578
Dtk_Symbol::ConvertLeadersToGeometrie
void ConvertLeadersToGeometrie()
Converts all leaders into Dtk_Symbol into geometrical elements.
Dtk_ReferenceFrame::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:5147
Dtk_Leader::ArrowHead::GetInfo
Dtk_InfoPtr & GetInfo()
Definition: util_draw_dtk.hpp:2123
Dtk_Leader::ApplicationZone::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
Translates the ApplicationZone giving a translation vector.
Definition: util_draw_dtk.hpp:1911
Dtk_Welding::SymbolVFlareWeld
@ SymbolVFlareWeld
Definition: util_draw_dtk.hpp:2977
Dtk_ViewDisplay::SetHiddenEdgesLineStyle
void SetHiddenEdgesLineStyle(Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor)
Set Line style for Hidden Edges.
Dtk_ToleranceSpecificationContainer::TypeTotalRunout
@ TypeTotalRunout
Definition: util_draw_dtk.hpp:6084
Dtk_GeometricalTolerance::GetFrameColor
const Dtk_RGB & GetFrameColor() const
Gets the frame color .
Dtk_Oriented2dBBox::Dtk_Oriented2dBBox
Dtk_Oriented2dBBox()
Default constructor.
Dtk_CompositeEntity::Dtk_CompositeEntity
Dtk_CompositeEntity(Dtk_CompositeEntity &&s) DTK_NOEXCEPT
Dtk_Region::GetAnnularOuterDiameter
Dtk_ErrorStatus GetAnnularOuterDiameter(Dtk_Double64 &outDiameter)
Gets the outer diameter of the annular Dtk_Region.
Dtk_ViewDisplay::GetTangentEdgesLineStyle
Dtk_ErrorStatus GetTangentEdgesLineStyle(Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor) const
Retrieves Line style for Tangent Edges.
Dtk_Leader::ApplicationZone::_Reset
void _Reset()
Definition: util_draw_dtk.hpp:1860
Dtk_Leader::ArrowHead::~ArrowHead
~ArrowHead()
Destructor.
Definition: util_draw_dtk.hpp:2105
Dtk_FCFFeatureIndicatorType::~Dtk_FCFFeatureIndicatorType
~Dtk_FCFFeatureIndicatorType()
Destructor.
Definition: util_draw_dtk.hpp:5805
Dtk_View::Add2dEntities
Dtk_ErrorStatus Add2dEntities(const Dtk_tab< Dtk_2dEntityPtr > &in2DEntitiesArray)
Adds an array of 2D entities to the view.
Dtk_OneCell::_Height
Dtk_Double64 _Height
The real height (before and after mergers).
Definition: util_draw_dtk.hpp:4037
Dtk_Symbol::TypeCell
@ TypeCell
Definition: util_draw_dtk.hpp:6370
Dtk_Oriented2dBBox::YLocalVector
Dtk_dir YLocalVector() const
Retrieves the Y local vector - Read Only -.
Definition: util_draw_dtk.hpp:637
Dtk_FCFFeatureIndicator::GetOuterBoundingBox
Dtk_Oriented2dBBox GetOuterBoundingBox() const
Retrieves the Dtk_FCFFeatureIndicator Outer Bounding Box.
DTK_FRAME_TYPE_OCTANGLE
@ DTK_FRAME_TYPE_OCTANGLE
Definition: util_draw_dtk.hpp:167
Dtk_Oriented2dBBox::GetBottomRightPoint
Dtk_pnt GetBottomRightPoint() const
Retrieves the bottom right point - Read Only -.
Definition: util_draw_dtk.hpp:594
error_dtk.hpp
Dtk_ToleranceSpecificationContainer::TypeCircularRunout
@ TypeCircularRunout
Definition: util_draw_dtk.hpp:6082
Dtk_Welding::SymbolSolderedJointWeld
@ SymbolSolderedJointWeld
Definition: util_draw_dtk.hpp:2995
Dtk_ToleranceSpecification::SetAsDeprecated
SetAsDeprecated("2021.1", "Use SetMainValue mehod to alter MainValue instead.") Dtk_ErrorStatus SetOuterBoundingBox(const Dtk_Oriented2dBBox &inOuterBBox)
Dtk_Welding::Dtk_Welding
Dtk_Welding()
Dtk_View::Add2dGeometricalEntity
Dtk_ErrorStatus Add2dGeometricalEntity(const Dtk_EntityPtr &inGeomElt) const
Adds a drawing geometrical entity to the view.
Dtk_CompositeText::operator=
Dtk_CompositeText & operator=(const Dtk_CompositeText &in)
Copy assignment operator.
Dtk_OneCell::SetBorderLeftBlanked
void SetBorderLeftBlanked(const Dtk_Int32 &inBorderLeftBlanked)
Sets BorderLeftBlanked of Left border.
Dtk_ToleranceSpecification::Reference
Dtk_ReferenceBlockPtr & Reference(const Dtk_Size_t &inReferencePos)
Retrieves the ith reference block - get/set -. This is a shortcut without using Dtk_ReferenceFrame ob...
Dtk_TextStyle::LineSpacing
const Dtk_Double64 & LineSpacing() const
Retrieves the line spacing - read only -.
Dtk_Oriented2dBBox::SetBottomRightPoint
void SetBottomRightPoint(const Dtk_pnt &inNewPoint)
Sets the bottom right point.
Dtk_Welding::SetArrowSideClearanceText
void SetArrowSideClearanceText(Dtk_CompositeText inArrowSideClearanceText)
Sets the ArrowSideClearanceText Dtk_CompositeText.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_GeometricalTolerancePtr &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Create from Dtk_GeometricalTolerancePtr.
Dtk_Grid::GetUMinorPerMajor
Dtk_Int32 GetUMinorPerMajor() const
Gets U minor lines per major.
Dtk_Dimension::_GetExtensionLineIdx
Dtk_ErrorStatus _GetExtensionLineIdx(const Dtk_Size_t &pos, Dtk_Size_t &outIdx) const
Dtk_DatumTarget::Create
static Dtk_DatumTargetPtr Create(const Dtk_DatumTarget &in)
Calls copy constructor to allocate a new object.
Dtk_OneCell::Delete_Text
void Delete_Text()
Affects _text to null in order not to read the text which is inside.
Dtk_TextStyle::AttributeSubscript
@ AttributeSubscript
Definition: util_draw_dtk.hpp:285
Dtk_Drawing::GetNumViews
Dtk_Size_t GetNumViews() const
Retrieves the views number - read only -.
Dtk_Leader::TerminatorTypeSquare
@ TerminatorTypeSquare
Definition: util_draw_dtk.hpp:1971
Dtk_GeometricalTolerance::operator[]
const Dtk_ToleranceSpecificationContainerPtr & operator[](const Dtk_Size_t &inPos) const
Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -.
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_Roughness::ObtentionTypeMachiningMandatory
@ ObtentionTypeMachiningMandatory
Definition: util_draw_dtk.hpp:2561
Dtk_ToleranceSpecificationContainer::SetToleranceTypeInnerBoundingBox
void SetToleranceTypeInnerBoundingBox(const Dtk_Oriented2dBBox &inInnerBBox) const
Set the Tolerance Specification Container Type inner Bounding Box.
Dtk_ReferenceBlock::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:4998
Dtk_View::GetNumOLEObjects
Dtk_Size_t GetNumOLEObjects() const
Retrieves the number of OLE Objects in the Dtk_View.
Dtk_Symbol::TypeFlagNote
@ TypeFlagNote
Definition: util_draw_dtk.hpp:6367
Dtk_Fdt::Create
static Dtk_FdtPtr Create(const Dtk_transfo &inTransformationMatrix, const Dtk_2dEntityPtr &inSub2DEntity)
Calls full featured constructor to allocate a new object.
Dtk_Fdt::Create
static Dtk_FdtPtr Create()
Calls default constructor to allocate a new object.
Dtk_Welding::GetOtherSideUndefinedText
Dtk_CompositeText GetOtherSideUndefinedText() const
Retrieves the OtherSideUndefinedText Dtk_CompositeText.
Dtk_Boundary::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Frame::Clear
void Clear()
Clear elements.
Definition: util_draw_dtk.hpp:948
Dtk_FCFFeatureIndicator::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_FCFFeatureIndicator anchor points.
Dtk_OneCell
Allows the representation of cell.
Definition: util_draw_dtk.hpp:4034
Dtk_Oriented2dBBox::YLocalVector
Dtk_dir & YLocalVector()
Retrieves the Y local vector.
Definition: util_draw_dtk.hpp:740
Dtk_DatumTarget::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_DatumTarget.
Dtk_Dimension::ShowDualValueBelow
@ ShowDualValueBelow
Definition: util_draw_dtk.hpp:4753
DTK_Text_subtype::IsUpText
Dtk_bool IsUpText() const
Tell if the associated Dtk_text is part of Up group - into Dtk_Dimension -.
Dtk_Camera::ProcessYSemiAngle
Dtk_Double64 ProcessYSemiAngle() const
Processes the Y - along height - Semi Angle - read only -.
Definition: util_draw_dtk.hpp:7509
Dtk_Symbol::Texts
const Dtk_CompositeText & Texts() const
Retrieves the Dtk_CompositeText included into the Dtk_Symbol - read only -.
Dtk_Roughness::GetTopRightText
Dtk_Text GetTopRightText() const
Gets the top-right text - read only -.
Dtk_Camera::ProjectionTypeParallel
@ ProjectionTypeParallel
Definition: util_draw_dtk.hpp:7364
Dtk_ToleranceSpecificationContainer::SetTopText
Dtk_ErrorStatus SetTopText(Dtk_CompositeText inText)
Sets the Dtk_ToleranceSpecificationContainer top-text.
Dtk_Annotation::AddLeader
Dtk_ErrorStatus AddLeader(const Dtk_LeaderPtr &leader)
Adds a leader to the Dtk_Annotation.
Dtk_Welding::GetOtherSideOpeningText
Dtk_CompositeText GetOtherSideOpeningText() const
Retrieves the OtherSideOpeningText Dtk_CompositeText.
Dtk_OneCell::Merged_Cell_Vertically
bool Merged_Cell_Vertically()
tests if the cell is composed of cells merged vertically.
Dtk_Symbol::FrameType
Dtk_frame_type FrameType() const
Retrieves the Dtk_Symbol frame type - read only -.
Dtk_CompositeText::Dtk_CompositeText
Dtk_CompositeText(Dtk_tab< Dtk_Text > inTexts)
Constructor from several Dtk_Text.
Dtk_Symbol::TypeTable
@ TypeTable
Definition: util_draw_dtk.hpp:6371
Dtk_ReferenceFrame::FirstReference
const Dtk_ReferenceBlockPtr & FirstReference() const
Retrieves the first reference block - read only -.
DTK_TYPE_FDT
@ DTK_TYPE_FDT
Definition: define.h:424
Dtk_View::AddPicture
Dtk_ErrorStatus AddPicture(const Dtk_picturePtr &inPicture)
Adds a picture to the view.
Dtk_GeometricalTolerance::SetRotationAngle
Dtk_ErrorStatus SetRotationAngle(const Dtk_Double64 &inRotationAngle)
Sets the annotation angle using the annotation base.
Dtk_Welding::SymbolMeltThroughWeld
@ SymbolMeltThroughWeld
Definition: util_draw_dtk.hpp:2993
Dtk_OneCell::Dtk_OneCell
Dtk_OneCell()
Base constructor.
Dtk_OneCell::nbCells_Top_Bottom
Dtk_Int32 nbCells_Top_Bottom
Number of adjacent cells at the top or bottom.
Definition: util_draw_dtk.hpp:4051
Dtk_Drawing::Create
static Dtk_DrawingPtr Create(Dtk_Drawing &&in)
Calls move constructor to allocate a new object.
Dtk_CompositeText::operator[]
const Dtk_Text & operator[](Dtk_Size_t inPos) const
Access operator - read only -.
Dtk_View::GetViewDisplay
Dtk_ViewDisplayPtr GetViewDisplay()
GetDisplayMode for 3D entity.
Dtk_View::~Dtk_View
~Dtk_View()
Destructor.
Dtk_FCFFeatureIndicator::GetFeatureIndicatorType
const Dtk_FCFFeatureIndicatorType & GetFeatureIndicatorType() const
Retrieves the Full Type of the Dtk_FCFFeatureIndicator - Read Only -.
Dtk_TextStyle::_char_spacing
Dtk_Double64 _char_spacing
Spacing between two chars.
Definition: util_draw_dtk.hpp:320
DTK_FRAME_TYPE_NONE
@ DTK_FRAME_TYPE_NONE
Definition: util_draw_dtk.hpp:125
Dtk_OneCell::GetBorderBottomBlanked
Dtk_Int32 GetBorderBottomBlanked()
Gets BorderBottomBlanked of Bottom border.
Dtk_Dimension::AngularDimension
@ AngularDimension
Definition: util_draw_dtk.hpp:4723
Dtk_ViewDisplay::Create
static Dtk_ViewDisplayPtr Create(DisplayMode3DEnum inDisplayMode)
Calls default constructor to allocate a new object.
Dtk_Table::SetRotationAngle
Dtk_ErrorStatus SetRotationAngle(const Dtk_Double64 &inRotationAngle)
Sets the annotation angle using the annotation base.
Dtk_Text::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
Translates the text giving a translation vector.
Dtk_Dimension::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:4779
Dtk_ToleranceSpecificationContainer::TypeParallelism
@ TypeParallelism
Definition: util_draw_dtk.hpp:6074
Dtk_Table::GetNumRows
Dtk_Size_t GetNumRows() const
Gets the Dtk_Table rows number.
Dtk_ReferenceFrame::GetOuterBoundingBox
Dtk_ErrorStatus GetOuterBoundingBox(Dtk_Oriented2dBBox &outOuterBBox) const
Dtk_TextStyle::_slant
Dtk_Double64 _slant
Char Slant (PI/2 by default)
Definition: util_draw_dtk.hpp:326
Dtk_Oriented2dBBox::_YLength
Dtk_Double64 _YLength
Definition: util_draw_dtk.hpp:474
Dtk_Table::Cell_Line
const Dtk_Size_t & Cell_Line(const Dtk_Size_t inPos) const
Gets the number of cells in each line.
Dtk_TextStyle::CharWidth
const Dtk_Double64 & CharWidth() const
Retrieves the char width - read only -.
Dtk_Camera::OriginPoint
const Dtk_pnt & OriginPoint() const
Retrieves the origin point - read only -.
Dtk_ToleranceSpecificationContainer::Create
static Dtk_ToleranceSpecificationContainerPtr Create(Dtk_ToleranceSpecificationContainer &&in)
Calls move constructor to allocate a new object.
Dtk_CompositeText::operator=
Dtk_CompositeText & operator=(Dtk_CompositeText &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_Table::Cell_Col
Dtk_Size_t & Cell_Col(const Dtk_Size_t inPos)
Sets the number of cells of the ith columns.
Dtk_SmartPtr
Definition: util_ptr_dtk.hpp:37
Dtk_Welding::SymbolKGrooveWeld
@ SymbolKGrooveWeld
Definition: util_draw_dtk.hpp:2999
Dtk_Roughness::SetTopLeftText
Dtk_ErrorStatus SetTopLeftText(Dtk_Text inText)
Sets the top-left text.
Dtk_Grid::None
@ None
Definition: util_draw_dtk.hpp:4494
Dtk_Camera::~Dtk_Camera
~Dtk_Camera()
Destructor.
Dtk_Table::Create
static Dtk_TablePtr Create(const Dtk_Int32 &inNumRows, const Dtk_Int32 &inNumCols, const Dtk_pnt &inLocationPnt=Dtk_pnt(0, 0, 0), const Dtk_Double64 &inAngle=0.0, const Dtk_InfoPtr &infos=NULL, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inOffSet=0.0, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Calls full featured constructor to allocate a new object.
Dtk_Leader::ArrowHead::GetInfo
const Dtk_InfoPtr & GetInfo() const
Definition: util_draw_dtk.hpp:2122
Dtk_FCFFeatureIndicatorType::_Init
void _Init()
DTK_FRAME_TYPE_ELLIPSE
@ DTK_FRAME_TYPE_ELLIPSE
Definition: util_draw_dtk.hpp:151
DTK_UNKNOWN
@ DTK_UNKNOWN
Definition: util_draw_dtk.hpp:64
DTK_FRAME_TYPE_PARALLELOGRAM
@ DTK_FRAME_TYPE_PARALLELOGRAM
Definition: util_draw_dtk.hpp:166
Dtk_ToleranceSpecificationContainer
This is the tolerance specification container. It is part of the Dtk_GeometricalTolerance....
Definition: util_draw_dtk.hpp:6053
Dtk_Leader::Dtk_Leader
Dtk_Leader(const Dtk_Leader &in)
Dtk_TextStyle::JustificationNone
@ JustificationNone
Definition: util_draw_dtk.hpp:294
Dtk_Boundary::Dtk_Boundary
Dtk_Boundary(Dtk_Boundary &&in) DTK_NOEXCEPT
Move constructor.
DTK_Text_subtype::Append
void Append(int in)
Appends a new subtype.
Dtk_OneCell::AddAdditionnalGeometries
void AddAdditionnalGeometries(Dtk_tab< Dtk_EntityPtr > inAdditionnalGeometries)
Adds some additionnal geometries to the Dtk_OneCell.
Dtk_Roughness::ObtentionTypeEnum
ObtentionTypeEnum
Definition: util_draw_dtk.hpp:2557
Dtk_Welding::GetGeometries
Dtk_tab< Dtk_EntityPtr > GetGeometries(const Dtk_bool inIncludeWeldBodyGeometries=DTK_TRUE, const Dtk_bool inIncludeOtherSideGeometries=DTK_TRUE, const Dtk_bool inIncludeArrowSideGeometries=DTK_TRUE) const
Retrieves the Dtk_Welding geometries.
Dtk_Roughness::SetTopRightText
Dtk_ErrorStatus SetTopRightText(Dtk_Text inText)
Sets the top-right text.
Dtk_CompositeEntity::AddEntity
Dtk_ErrorStatus AddEntity(const Dtk_EntityPtr &inElt)
Adds a Dtk_EntityPtr to the Dtk_CompositeEntity.
DTK_ANCHOR_MIDDLE_LEFT
@ DTK_ANCHOR_MIDDLE_LEFT
Definition: util_draw_dtk.hpp:94
Dtk_ToleranceSpecificationContainer::GetNumToleranceSpecifications
Dtk_Size_t GetNumToleranceSpecifications() const
Retrieves the tolerance specification number - read only -.
Dtk_Table::_CheckRowCol
void _CheckRowCol(const Dtk_Size_t inRow, const Dtk_Size_t inCol) const
Dtk_Welding::SetOtherSideDepthText
void SetOtherSideDepthText(Dtk_CompositeText inOtherSideDepthText)
Sets the OtherSideDepthText Dtk_CompositeText.
Dtk_HatchingStyle_Dotting
@ Dtk_HatchingStyle_Dotting
Definition: util_draw_dtk.hpp:7566
Dtk_Roughness::~Dtk_Roughness
~Dtk_Roughness()
Destructor.
Dtk_Text::FrameType
Dtk_frame_type FrameType() const
Retrieves the text frame type - read only -.
Dtk_Roughness::Dtk_Roughness
Dtk_Roughness(const Dtk_Roughness &s)
Dtk_HatchingPattern::HatchingStyle
const Dtk_HatchingStyle & HatchingStyle() const
Retrieves the hatching style, one of the following : hatching, coloring or dotting.
Dtk_ReferenceBlock::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPoints)[DTK_NB_ANCHOR_TYPES], const Dtk_Double64 &inOffSet=0.0) const
Processes all the Dtk_ReferenceBlock anchor points.
Dtk_FCFFeatureIndicatorType::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the IndicatorType.
Dtk_Table::Cell_Col
const Dtk_Size_t & Cell_Col(const Dtk_Size_t inPos) const
Gets the number of cells in each column.
Dtk_Grid::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Oriented2dBBox::Rotate
void Rotate(const Dtk_Double64 &inAngleInRadian)
Rotates the bounding box.
Dtk_Table::ProcessTextsPlacement
Dtk_ErrorStatus ProcessTextsPlacement()
Processes internal annotation placement - internal use only -.
Dtk_ToleranceSpecification::GetOuterBoundingBox
Dtk_ErrorStatus GetOuterBoundingBox(Dtk_Oriented2dBBox &outOuterBBox, const Dtk_bool inIncludeReferenceFrame=DTK_TRUE, const Dtk_bool InIncludeIndicators=DTK_TRUE) const
Retrieve the Dtk_ToleranceSpecification Outer Bounding Box.
Dtk_OneCell::GetBorderTopBlanked
Dtk_Int32 GetBorderTopBlanked()
Gets BorderTopBlanked of Top border.
Dtk_Font::FontType
FontTypeEnum & FontType()
Retrieves the font type - get/set -.
Dtk_Welding::GetFieldWeldActivated
Dtk_bool GetFieldWeldActivated() const
Tells if the Field Weld Symbol is activated.
DTK_UNIT_DEGREE
@ DTK_UNIT_DEGREE
Definition: util_draw_dtk.hpp:83
Dtk_ReferenceBlock::SetXAxis
Dtk_ErrorStatus SetXAxis(const Dtk_dir &ref_dir)
Sets the X Axis for the Dtk_CompositeText and included Dtk_Texts.
Dtk_TextStyle::CharSpacing
Dtk_Double64 & CharSpacing()
Retrieves the char spacing - get/set -.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_Region &inRegion, const Dtk_bool &text_auto_flip)
Dtk_Region::GetHatchingPattern
Dtk_HatchingPattern GetHatchingPattern()
Gets Hatching Pattern of the region Dtk_Region.
Dtk_ToleranceSpecificationContainer::GetLeftTextLabel
Dtk_string GetLeftTextLabel() const
Retrieves the Dtk_ToleranceSpecificationContainer left-text - read only -.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_Dimension &inToBeConverted, const Dtk_bool &inKeepLeaderAsLeader)
Dtk_Welding::SymbolStickWeld
@ SymbolStickWeld
Definition: util_draw_dtk.hpp:2973
Dtk_Leader::Dtk_Leader
Dtk_Leader()
Dtk_Text::InnerYAxis
Dtk_dir & InnerYAxis()
Retrieves the inner bounding box YAxis - get/set -.
Dtk_Annotation::GetLeader
Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) const
Gets the i'th leader.
Dtk_View::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Region::RegionType
RegionType
Definition: util_draw_dtk.hpp:7929
Dtk_ToleranceSpecificationContainer::GetToleranceTypeInnerBoundingBox
void GetToleranceTypeInnerBoundingBox(Dtk_Oriented2dBBox &outInnerBBox) const
Retrieves the Tolerance Specification Container Type inner Bounding Box.
Dtk_Leader::ArrowHead::_Reset
void _Reset()
Definition: util_draw_dtk.hpp:2082
Dtk_Camera::TargetVector
Dtk_dir TargetVector() const
Retrieves the target vector - read only -.
Dtk_2dEntity::GetAdditionnalTexts
const Dtk_CompositeText & GetAdditionnalTexts() const
Retrieves the additionnal texts of the Dtk_2dEntity.
Dtk_Symbol::operator=
Dtk_Symbol & operator=(const Dtk_Symbol &in)
Copy assignment operator.
Dtk_Symbol::TypeBalloon
@ TypeBalloon
Definition: util_draw_dtk.hpp:6363
DTK_Text_subtype::IsLowerFrac
Dtk_bool IsLowerFrac() const
Tell if the associated Dtk_text is part of Lower Fraction group - into Dtk_Dimension -.
Dtk_TextStyle::StyleBoldItalic
@ StyleBoldItalic
Definition: util_draw_dtk.hpp:260
Dtk_Fdt::Dtk_Fdt
Dtk_Fdt(Dtk_Fdt &&inToBeMoved) DTK_NOEXCEPT
Dtk_Oriented2dBBox::Reverse
void Reverse()
Reverses the bounding box X local vector and Y local vector orientation are reversed.
Dtk_DatumTarget::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_DatumTarget anchor point.
Dtk_Dimension::Create
static Dtk_DimensionPtr Create(Dtk_Dimension &&in)
Calls move constructor to allocate a new object.
Dtk_OneCell::_InitC
void _InitC()
Dtk_Welding::GetFinishSymbolOtherSideAsText
Dtk_Text GetFinishSymbolOtherSideAsText() const
Dtk_Grid::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_Annotation.
Dtk_Welding::WeldTextType
WeldTextType
Definition: util_draw_dtk.hpp:3060
Dtk_ToleranceSpecificationContainer::GetToleranceSpecification
Dtk_ToleranceSpecificationPtr GetToleranceSpecification(const Dtk_Size_t &inPos) const
Retrieves the ith tolerance specification - read only -.
DTK_Text_subtype::IsFractionBar
Dtk_bool IsFractionBar() const
Tell if the associated Dtk_text is a fraction bar group - into Dtk_Dimension -.
Dtk_Symbol::TypeGrid
@ TypeGrid
Definition: util_draw_dtk.hpp:6380
Dtk_Table::Dtk_Table
Dtk_Table()
Default constructor.
Dtk_ToleranceSpecificationContainer::TypeSurfaceProfile
@ TypeSurfaceProfile
Definition: util_draw_dtk.hpp:6068
Dtk_dir::normalize
int normalize()
Dtk_Drawing::Width
const Dtk_Double64 & Width() const
Retrieves the drawing width - read only -.
Dtk_Font::Dtk_Font
Dtk_Font(Dtk_Font &&in) DTK_NOEXCEPT
Move constructor.
Dtk_Camera::Angle
Dtk_Double64 Angle() const
Definition: util_draw_dtk.hpp:7520
DTK_Text_subtype::IsTolRightParenthesis
Dtk_bool IsTolRightParenthesis() const
Tell if the associated Dtk_text is part of Tolerance Right Parenthesis group - into Dtk_Dimension -.
Dtk_Fdt::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:7288
Dtk_Region::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:7954
Dtk_Welding::Create
static Dtk_WeldingPtr Create(Dtk_Welding &&in)
Calls move constructor to allocate a new object.
Dtk_Dimension::Create
static Dtk_DimensionPtr Create(const DimensionTypeEnum &inDimensionType, Dtk_CompositeText inTexts)
Calls full featured constructor to allocate a new object.
Dtk_Region::GetCircularDiameter
Dtk_ErrorStatus GetCircularDiameter(Dtk_Double64 &outDiameter)
Gets the diameter of the circular Dtk_Region.
Dtk_Leader::TerminatorTypeDoubleFillArrow
@ TerminatorTypeDoubleFillArrow
Definition: util_draw_dtk.hpp:1997
Dtk_ToleranceSpecification::Dtk_ToleranceSpecification
Dtk_ToleranceSpecification(const Dtk_ToleranceSpecification &in)
Dtk_Welding::AddOtherSideUndefinedText
void AddOtherSideUndefinedText(Dtk_CompositeText inText)
Add an undefined Text to the OtherSide.
Dtk_Welding::FinishSymbolPeening
@ FinishSymbolPeening
Definition: util_draw_dtk.hpp:3104
DTK_FRAME_TYPE_NOTA
@ DTK_FRAME_TYPE_NOTA
Definition: util_draw_dtk.hpp:158
Dtk_Text::VerticalMirroring
@ VerticalMirroring
Definition: util_draw_dtk.hpp:1115
Dtk_Symbol::AddGeometricalElement
Dtk_ErrorStatus AddGeometricalElement(const Dtk_EntityPtr &inGeomElt)
Adds a geometrical element to the Dtk_Symbol.
dtk_transfo.hpp
Dtk_HatchingPattern
This is the Hatching Pattern class. This describes a repetition of lines/dots or coloring....
Definition: util_draw_dtk.hpp:7573
Dtk_FCFFeatureIndicatorType::Dtk_FCFFeatureIndicatorTypeEnum
Dtk_FCFFeatureIndicatorTypeEnum
Definition: util_draw_dtk.hpp:5757
Dtk_Grid::Dtk_Grid
Dtk_Grid(const Dtk_Oriented2dBBox &inUVBBox, const Dtk_Double64 &inUSpacing, const Dtk_Double64 &inVSpacing, const Dtk_Int32 &inUMinorPerMajor, const Dtk_Int32 &inVMinorPerMajor, const Dtk_RGB &inLineColor, const Dtk_FontLineType &inMajorLineStyle, const Dtk_FontLineType &inMinorLineStyle, const Dtk_Double64 &inMajorLineWidth, const Dtk_Double64 &inMinorLineWidth, const Dtk_bool &inDisplayGridOpt, const Dtk_bool &inDisplayOnTopOpt, const Dtk_bool &inDisplayMajorLinesOpt, const ShowLabelOption &inShowLabelOpt, const OriginReferenceOption &inOriginReferenceOpt, const Dtk_Double64 &inConceptionUnit)
Dtk_Roughness::GetCutOff
Dtk_Text GetCutOff() const
Gets the CutOff text - read only -.
Dtk_Welding::WeldTextOpening
@ WeldTextOpening
Definition: util_draw_dtk.hpp:3071
Dtk_Camera::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_ReferenceFrame::Dtk_ReferenceFrame
Dtk_ReferenceFrame()
Dtk_ViewDisplay::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:6870
Dtk_2dEntity::_Reset
void _Reset()
Dtk_pnt
This is a mathematical point class.
Definition: dtk_pnt.hpp:20
Dtk_Fdt::Dtk_Fdt
Dtk_Fdt(const Dtk_transfo &inTransforansform, const Dtk_2dEntityPtr &entity2D)
type_detk
type_detk
Definition: define.h:21
Dtk_ToleranceSpecificationContainer::GetToleranceTypeOuterBoundingBox
void GetToleranceTypeOuterBoundingBox(Dtk_Oriented2dBBox &outOuterBBox) const
Retrieves the Tolerance Specification Container Type outer Bounding Box.
DTK_DATUM_COMPOSING_RULE
DTK_DATUM_COMPOSING_RULE
This is the several references composing rules.
Definition: util_draw_dtk.hpp:63
Dtk_Grid::Create
static Dtk_GridPtr Create(const Dtk_Oriented2dBBox &inUVBBox, const Dtk_Double64 &inUSpacing, const Dtk_Double64 &inVSpacing, const Dtk_Int32 &inUMinorPerMajor=1, const Dtk_Int32 &inVMinorPerMajor=1, const Dtk_RGB &inLineColor=Dtk_RGB(), const Dtk_FontLineType &inMajorLineStyle=DTK_NO_PATTERN, const Dtk_FontLineType &inMinorLineStyle=DTK_NO_PATTERN, const Dtk_Double64 &inMajorLineWidth=1.0, const Dtk_Double64 &inMinorLineWidth=1.0, const Dtk_bool &inDisplayGridOpt=DTK_TRUE, const Dtk_bool &inDisplayOnTopOpt=DTK_TRUE, const Dtk_bool &inDisplayMajorLinesOpt=DTK_FALSE, const ShowLabelOption &inShowLabelOpt=Dtk_Grid::Always, const OriginReferenceOption &inOriginReferenceOpt=Dtk_Grid::Local, const Dtk_Double64 &inConceptionUnit=1.0)
Calls full featured constructor to allocate a new object.
Dtk_Text::SetInnerYLength
void SetInnerYLength(const Dtk_Double64 &inYLength)
Sets the inner bounding box Y length.
Dtk_ReferenceFrame::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_ToleranceSpecificationContainer::GetOuterBoundingBox
Dtk_ErrorStatus GetOuterBoundingBox(const Dtk_bool &inProcessAddtionnalTexts, Dtk_Oriented2dBBox &outOuterBBox) const
Dtk_HatchingPattern::_line_style
Dtk_Int32 _line_style
Definition: util_draw_dtk.hpp:7581
Dtk_Text::TextType
const DTK_Text_type & TextType() const
Retrieves the text type - read only -.
DTK_Text_subtype
This is the DTK_Text_subtype class. It's used to provide semantic data about Dtk_Text type....
Definition: util_draw_dtk.hpp:996
str_def.h
Dtk_View::Angle
Dtk_Double64 & Angle()
Retrieves the Dtk_View angle - get/set-.
Dtk_Welding::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_Welding anchor point.
Dtk_Welding::SymbolFlareVButtWeld
@ SymbolFlareVButtWeld
Definition: util_draw_dtk.hpp:2943
Dtk_DatumTarget::ProcessCenterPoint
Dtk_pnt ProcessCenterPoint() const
Retrieves the center point - read only -.
Dtk_CompositeText::ReplaceTexts
void ReplaceTexts(const Dtk_tab< Dtk_Text > &inTexts)
Replaces all the included Dtk_Texts by the given ones.
Dtk_ToleranceSpecification::Create
static Dtk_ToleranceSpecificationPtr Create(Dtk_ToleranceSpecification &&in)
Calls move constructor to allocate a new object.
Dtk_OneCell::setJustification
void setJustification(const Dtk_justication_type &inNewJustification)
Sets justification.
Dtk_Leader::DtkDynamicCast
static Dtk_Leader * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
DTK_Text_subtype::IsTolValPart
Dtk_bool IsTolValPart() const
Tell if the associated Dtk_text is part of Tolerance Value group - into Dtk_Dimension -.
Dtk_View::SetClippingPlane
Dtk_ErrorStatus SetClippingPlane(const Dtk_Size_t &inPos, const Dtk_pnt &inLocation, const Dtk_dir &inRefAxis, const Dtk_dir &inNormalAxis)
Sets the ith clipping plane informations.
Dtk_Font::_name
Dtk_string _name
Font name.
Definition: util_draw_dtk.hpp:191
Dtk_CompositeText::SetOuterYAxis
Dtk_ErrorStatus SetOuterYAxis(const Dtk_dir &axis_dir)
Sets the outer bounding box Y Axis for the Dtk_CompositeText and included Dtk_Texts.
Dtk_Welding::SetOtherSideData
void SetOtherSideData(const WeldingSymbolEnum inWeldingSymbol, Dtk_Text inNumWeldsText, Dtk_Text inAngleText, const ComplementarySymbolEnum inContourSymbol, Dtk_Text inFinishSymbolText, Dtk_Text inSizeText, Dtk_Text inLengthText, Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries)
Sets the Dtk_Welding OtherSide Data.
Dtk_CompositeEntity::Dtk_CompositeEntity
Dtk_CompositeEntity()
Dtk_ReferenceBlock::GetLinkedtFdt
Dtk_FdtPtr GetLinkedtFdt(const Dtk_Size_t &inReferencePos) const
Retrieves the Linked Fdt.
Dtk_ToleranceSpecification::ProcessWidth
Dtk_Double64 ProcessWidth() const
Internal use only.
Dtk_CompositeText
This is the composite text class. It's basically a Dtk_Text Container. This class represents a group ...
Definition: util_draw_dtk.hpp:1525
Dtk_View::SetClippingBoundary
void SetClippingBoundary(const Dtk_CompositeEntityPtr &inBoundary) const
Sets the clipping boundary informations.
Dtk_ReferenceBlock::GetInnerBoundingBox
Dtk_Oriented2dBBox GetInnerBoundingBox() const
Dtk_Welding::GetLengthTextOtherSide
Dtk_Text GetLengthTextOtherSide() const
Retrieves the OtherSide Length Dtk_Text.
Dtk_FCFFeatureIndicatorType::OrientationPlane
@ OrientationPlane
Definition: util_draw_dtk.hpp:5766
Dtk_Leader::Create
static Dtk_LeaderPtr Create(Dtk_Leader &&s)
Calls move constructor to allocate a new object.
Dtk_ToleranceSpecificationContainer::Translate
void Translate(const Dtk_dir &inTranslationDir)
Translates the text giving a translation vector.
Dtk_OneCell::getAnchor
Dtk_Size_t & getAnchor()
Gets the Dtk_OneCell anchor.
Dtk_View::AddOLEObjects
Dtk_ErrorStatus AddOLEObjects(const Dtk_tab< Dtk_OLEObjectPtr > &inOleObjects)
Adds an array of Dtk_OLEObjectPtr to the view.
Dtk_Roughness::rough_mode_to_Dtk_Text
Dtk_Text rough_mode_to_Dtk_Text() const
Converts the rough mode into a Dtk_Text - used to Dtk_Symbol conversion -.
Dtk_OneCell::Merged_Cell_Horizontally
bool Merged_Cell_Horizontally()
Tests if the cell is composed of cells merged horizontally.
Dtk_Annotation::GetNumLeaders
Dtk_Size_t GetNumLeaders() const
Retrieves the number of leaders.
Dtk_DatumTarget::SetOptionnalBottomTextLeader
void SetOptionnalBottomTextLeader(const Dtk_LeaderPtr &inLeader)
Sets the optionnal Leader of the Bottom Text.
Dtk_Oriented2dBBox::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the anchor points.
Dtk_Table::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_Roughness::GetRoughMode
RoughModeEnum GetRoughMode() const
Gets the rough mode - read only -.
Dtk_FontLineType
Dtk_FontLineType
This is a set of line styles.
Definition: util_ent_dtk.hpp:45
Dtk_Welding::SymbolSingleBevelButtWeld
@ SymbolSingleBevelButtWeld
Definition: util_draw_dtk.hpp:2941
Dtk_Symbol::GetFrame
void GetFrame(Dtk_Frame &outFrame) const
Retrieves the Frame - read only -.
Dtk_2dEntity::GetAdditionnalGeometries
const Dtk_tab< Dtk_EntityPtr > & GetAdditionnalGeometries() const
Retrieves the additionnal geometries of the Dtk_2dEntity.
Dtk_ToleranceSpecificationContainer::Create
static Dtk_ToleranceSpecificationContainerPtr Create(const TypeEnum &inTolSpecContType, const Dtk_Oriented2dBBox &inInnerTolTypeBBox, const Dtk_Oriented2dBBox &inOuterTolTypeBBox)
Calls full featured constructor to allocate a new object.
Dtk_Oriented2dBBox::ProcessIntersectionWithCircle
Dtk_Int32 ProcessIntersectionWithCircle(const Dtk_pnt &inCenter, const Dtk_Double64 &inRadius, Dtk_tab< Dtk_pnt > &outIntersectionPnts) const
Processes intersection points with a circle on the same plane as the boundingbox, giving its center a...
Dtk_ToleranceSpecificationContainer::TypeCircularity
@ TypeCircularity
Definition: util_draw_dtk.hpp:6062
util_stl_dtk.hpp
Dtk_TextStyle::AttributeOverline
@ AttributeOverline
Definition: util_draw_dtk.hpp:281
Dtk_TextStyle::JustificationRight
@ JustificationRight
Definition: util_draw_dtk.hpp:293
Dtk_Boundary::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:7677
Dtk_Welding::GetArrowSideSizeText
Dtk_CompositeText GetArrowSideSizeText() const
Retrieves the ArrowSideSizeText Dtk_CompositeText.
Dtk_ToleranceSpecificationContainer::TypeConcentricity
@ TypeConcentricity
Definition: util_draw_dtk.hpp:6078
Dtk_Oriented2dBBox::GetTopCenterPoint
Dtk_pnt GetTopCenterPoint() const
Retrieves the top center point - Read Only -.
Definition: util_draw_dtk.hpp:586
Dtk_Welding::SetOtherSideWeldSymbolText
void SetOtherSideWeldSymbolText(Dtk_CompositeText inOtherSideWeldSymbolText)
Sets the OtherSideWeldSymbolText Dtk_CompositeText.
Dtk_Frame
This is the frame class. It's used to gather all frame information.
Definition: util_draw_dtk.hpp:906
Dtk_Dimension::DiameterDimension
@ DiameterDimension
Definition: util_draw_dtk.hpp:4727
Dtk_Text::GetFrame
void GetFrame(Dtk_Frame &outFrame) const
Retrieves the Frame - read only -.
Dtk_Leader::Create
static Dtk_LeaderPtr Create()
Calls default constructor to allocate a new object.
Dtk_Leader::ArrowHead
This class graphically represents a leader head.
Definition: util_draw_dtk.hpp:2059
Dtk_Leader::ArrowHead::_Copy
void _Copy(const ArrowHead &s)
Definition: util_draw_dtk.hpp:2074
Dtk_Leader::TerminatorTypeTopOpenArrow
@ TerminatorTypeTopOpenArrow
Definition: util_draw_dtk.hpp:2001
Dtk_Oriented2dBBox::Translate
void Translate(const Dtk_dir &inTranslation)
Translates the text giving a translation vector.
Dtk_ToleranceSpecification::Reference
const Dtk_ReferenceBlockPtr & Reference(const Dtk_Size_t &inReferencePos) const
Retrieves the ith reference block - get/set -. This is a shortcut without using Dtk_ReferenceFrame ob...
Dtk_Region::Dtk_Region
Dtk_Region(RegionType inType, Dtk_HatchingPattern &inHatchingPattern, Dtk_tab< Dtk_EntityPtr > inGeometries)
Dtk_Text::SetInnerXYAxis
void SetInnerXYAxis(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis)
Sets the inner bounding box orientation.
DTK_Text_subtype::IsTolPrefix
Dtk_bool IsTolPrefix() const
Tell if the associated Dtk_text is part of Tolerance Prefix group - into Dtk_Dimension -.
Dtk_FCFFeatureIndicatorType::operator=
Dtk_FCFFeatureIndicatorType & operator=(Dtk_FCFFeatureIndicatorType &&in) DTK_NOEXCEPT
Move assignment operator.
Definition: util_draw_dtk.hpp:5869
Dtk_OneCell::GetBorderRightBlanked
Dtk_Int32 GetBorderRightBlanked()
Gets BorderRightBlanked of Right border.
Dtk_ReferenceBlock::Dtk_ReferenceBlock
Dtk_ReferenceBlock(const Dtk_Oriented2dBBox &inInnerBBox, const Dtk_Oriented2dBBox &inOuterBBox)
Dtk_ReferenceBlock::GetNumReferences
Dtk_Size_t GetNumReferences() const
Retrieves the references number.
Dtk_Leader::TerminatorTypeTopFillArrow
@ TerminatorTypeTopFillArrow
Definition: util_draw_dtk.hpp:2005
Dtk_Hatching::GeneratePatternGeometries
Dtk_tab< Dtk_EntityPtr > GeneratePatternGeometries(const Dtk_dir &inXRefDir=Dtk_dir(1., 0., 0.), const Dtk_dir &inNormalDir=Dtk_dir(0., 0., 1.))
Generate Pattern geometries from Dtk_Hatching.
Dtk_Fdt::Sub2DEntity
const Dtk_2dEntityPtr & Sub2DEntity() const
Retrieves the sub 2D entity - read only -.
Dtk_ReferenceBlock::Dtk_ReferenceBlock
Dtk_ReferenceBlock(Dtk_ReferenceBlock &&in) DTK_NOEXCEPT
Dtk_Camera::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:7399
Dtk_HatchingPattern::Color
const Dtk_RGB & Color() const
Retrieves the color of the pattern element.
DTK_Text_subtype::IsValSplitPart3
Dtk_bool IsValSplitPart3() const
Tell if the associated Dtk_text is part of Value Split Part 3 - for Degrees/Minutes/Seconds form - gr...
Dtk_Symbol::TypeCallout
@ TypeCallout
Definition: util_draw_dtk.hpp:6372
Dtk_OneCell::SetBorderLeftColor
void SetBorderLeftColor(const Dtk_Int32 &inBorderLeftColor)
Sets BorderLeftColor of Left border.
util_ptr_dtk.hpp
Dtk_Roughness::SetRotationAngle
Dtk_ErrorStatus SetRotationAngle(const Dtk_Double64 &angle)
Sets the annotation angle using the annotation base.
Dtk_Text::Dtk_Text
Dtk_Text(Dtk_string inTextString, const Dtk_Oriented2dBBox &inInnerBox, const Dtk_Oriented2dBBox &inOuterBox, const Dtk_anchor_type &inAnchorType, const DTK_Text_type &inTextType, const Dtk_Int32 &inHorizontalVerticalType, const Dtk_InfoPtr &inInfos, const Dtk_TextStyle &inTextStyle, const Dtk_Double64 &inSlant, const Dtk_Int32 &inFontIndex, const Dtk_Int32 &inMirroringType)
Full featured constructor.
Dtk_Leader::SetExtensionLine
void SetExtensionLine(const Dtk_PolylinePtr &inExtLine)
Set the leader Extendion Line.
Dtk_Roughness::ModeWithAngles
@ ModeWithAngles
Definition: util_draw_dtk.hpp:2588
Dtk_DatumTarget::SwapTexts
Dtk_ErrorStatus SwapTexts()
Swaps the Dtk_DatumTarget texts.
Dtk_ToleranceSpecificationContainer::GetToleranceSpecificationsBoundingBox
Dtk_ErrorStatus GetToleranceSpecificationsBoundingBox(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_ToleranceSpecificationContainer anchor points.
Dtk_Camera::Create
static Dtk_CameraPtr Create()
Calls default constructor to allocate a new object.
define.h
Dtk_Text::SetInnerRotationAngle
Dtk_ErrorStatus SetInnerRotationAngle(const Dtk_Double64 &inRotationAngle, const Dtk_dir &inXAxis=Dtk_dir(1, 0, 0), const Dtk_dir &inYAxis=Dtk_dir(0, 1, 0))
Sets the inner bounding box rotation angle giving a reference base.
DTK_NB_ANCHOR_TYPES
@ DTK_NB_ANCHOR_TYPES
Definition: util_draw_dtk.hpp:100
Dtk_OneCell::set_min_Width
void set_min_Width(const double &min_Width)
Sets the Dtk_OneCell min_Width.
Dtk_Text::ProcessMirroringType
MirroringTypeEnum ProcessMirroringType(const Dtk_dir &inZAxis=Dtk_dir(0, 0, 1)) const
Processes the mirroring type giving the reference Z Axis.
Dtk_Font::FontUnknown
@ FontUnknown
Definition: util_draw_dtk.hpp:184
Dtk_Welding::SymbolSingleUButtWeld
@ SymbolSingleUButtWeld
Definition: util_draw_dtk.hpp:2947
Dtk_Text::GetOuterBoundingBox
const Dtk_Oriented2dBBox & GetOuterBoundingBox() const
Processes the outer bounding box.
Dtk_Annotation::Dtk_Annotation
Dtk_Annotation()
Default constructor.
Dtk_Boundary::GetExactRepresentation
dtk::Span< Dtk_CurvePtr > GetExactRepresentation() const
Retrieves all curves linked together that makes a boundary.
DTK_UNIT_RADIAN
@ DTK_UNIT_RADIAN
Definition: util_draw_dtk.hpp:84
Dtk_ReferenceBlock::GetReferenceLabel
const Dtk_string & GetReferenceLabel(const Dtk_Size_t &inReferencePos) const
Retrieves the ith reference label - read only -.
Dtk_Leader::TerminatorTypeClosedArrow
@ TerminatorTypeClosedArrow
Definition: util_draw_dtk.hpp:1961
Dtk_FCFFeatureIndicator::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Transforms the Dtk_FCFFeatureIndicator giving a transformation matrix.
DTK_TYPE_TABLE
@ DTK_TYPE_TABLE
Definition: define.h:480
Dtk_Camera::TargetPoint
const Dtk_pnt & TargetPoint() const
Retrieves the target point - read only -.
Dtk_Leader::ArrowHead::GetDirections
void GetDirections(Dtk_dir &outRefDir, Dtk_dir &outAxisDir) const
Definition: util_draw_dtk.hpp:2128
Dtk_ToleranceSpecificationContainer::GetToleranceSpecificationOuterBoundingBox
Dtk_ErrorStatus GetToleranceSpecificationOuterBoundingBox(const Dtk_Size_t &inTolSpecPos, Dtk_Oriented2dBBox &outOuterBBox) const
Dtk_Welding::SymbolSpotWeld
@ SymbolSpotWeld
Definition: util_draw_dtk.hpp:2953
Dtk_Camera::GetZoomFitMode
const Dtk_Camera::ZoomFitModeEnum & GetZoomFitMode() const
Retrieves the zoom fit mode - read only -.
Dtk_CompositeText::CreateFrameAsGeometry
Dtk_ErrorStatus CreateFrameAsGeometry(Dtk_tab< Dtk_CurvePtr > &outGeoms) const
Dtk_View::AddEntities
Dtk_ErrorStatus AddEntities(const Dtk_tab< Dtk_EntityPtr > &inEntitiesArray)
Adds an array of 2D entities, Dtk_Hatching, curve and point to the view ( other type are not supporte...
DTK_Text_subtype::DTK_Text_subtype
DTK_Text_subtype(int in=0)
Dtk_View::GetClipping
Dtk_PlaneSurfacePtr GetClipping(const Dtk_Size_t &inPos) const
DTK_Text_subtype::IsTolLowerTol
Dtk_bool IsTolLowerTol() const
Tell if the associated Dtk_text is part of Tolerance Lower Value group - into Dtk_Dimension -.
Dtk_Welding::GetFinishSymbolTextArrowSide
Dtk_Text GetFinishSymbolTextArrowSide() const
Retrieves the ArrowSide Finish Symbol Dtk_Text.
Dtk_CompositeEntity::GetNumEntities
Dtk_Size_t GetNumEntities() const
Retrieves the number of Dtk_EntityPtr in Dtk_CompositeEntity.
Dtk_Roughness::ModeCircular
@ ModeCircular
Definition: util_draw_dtk.hpp:2582
DTK_NO_PATTERN
@ DTK_NO_PATTERN
Definition: util_ent_dtk.hpp:46
Dtk_2dEntity::AddAdditionnalGeometries
void AddAdditionnalGeometries(const Dtk_tab< Dtk_EntityPtr > &inAdditionnalGeometries)
Adds some additionnal geometries to the Dtk_2dEntity.
Dtk_TextStyle::Slant
const Dtk_Double64 & Slant() const
Retrieves the text slant - read only -.
DTK_UNIT_UNKNOWN
@ DTK_UNIT_UNKNOWN
Definition: util_draw_dtk.hpp:74
Dtk_DatumTarget::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Text::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:1119
DTK_TYPE_2D_ENTITY
@ DTK_TYPE_2D_ENTITY
Definition: define.h:462
DTK_TYPE_HATCHING
@ DTK_TYPE_HATCHING
Definition: define.h:549
Dtk_Welding::SymbolSingleJButtWeld
@ SymbolSingleJButtWeld
Definition: util_draw_dtk.hpp:2949
Dtk_Leader::ApplicationZone::_RelatedGeomElements
Dtk_tab< Dtk_CurvePtr > _RelatedGeomElements
Definition: util_draw_dtk.hpp:1844
Dtk_Annotation::operator=
Dtk_Annotation & operator=(const Dtk_Annotation &in)
Copy assignment operator.
Dtk_Font::Name
const Dtk_string & Name() const
Retrieves the font name - read only -.
Dtk_TextStyle::CharHeight
Dtk_Double64 & CharHeight()
Retrieves the char height - get/set -.
Dtk_Frame::CreateGeometries
Dtk_ErrorStatus CreateGeometries(Dtk_tab< Dtk_CurvePtr > &outGeoms) const
Process Related geometries.
Dtk_Roughness::GetOuterBoundingBox
Dtk_Oriented2dBBox GetOuterBoundingBox(const Dtk_bool inIncludeSymbolGeometry) const
Dtk_tab
This is a high level array class.
Definition: util_stl_dtk.hpp:84
Dtk_Text::InnerXAxis
const Dtk_dir & InnerXAxis() const
Retrieves the inner bounding box XAxis - read only -.
Dtk_FCFFeatureIndicator::operator=
Dtk_FCFFeatureIndicator & operator=(Dtk_FCFFeatureIndicator &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_Leader::~Dtk_Leader
virtual ~Dtk_Leader()
Destructor.
Dtk_Welding::GetSizeTextOtherSide
Dtk_Text GetSizeTextOtherSide() const
Retrieves the OtherSide Size Dtk_Text.
Dtk_Welding::GetArrowSideAllTexts
std::unordered_map< Dtk_UInt8, Dtk_CompositeText > GetArrowSideAllTexts() const
Return all the texts of the ArrowSide.
Dtk_ViewDisplay::GetDisplayMode
DisplayMode3DEnum GetDisplayMode()
Return the Display Mode.
Dtk_Grid::GetVSpacing
Dtk_Double64 GetVSpacing() const
Gets V spacing between lines.
Dtk_ToleranceSpecificationContainer::TopText
const Dtk_Text & TopText() const
OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer top-text as Dtk_Text - read only -.
Dtk_Text::SetInnerAnchorPointWithTranslation
Dtk_ErrorStatus SetInnerAnchorPointWithTranslation(const Dtk_pnt &new_origin, const Dtk_anchor_type location_anchor_type)
Dtk_Welding::GetAngleTextArrowSide
Dtk_Text GetAngleTextArrowSide() const
Retrieves the ArrowSide Angle Dtk_Text.
Dtk_GeometricalTolerance::Dtk_GeometricalTolerance
Dtk_GeometricalTolerance()
Dtk_Drawing::SetAsDeprecated
SetAsDeprecated("2025.4", "Please remove calls to this function, it will always return 0.") Dtk_Size_t GetNum2dEntities() const
Retrieves the 2D entities number - read only -.
Dtk_Roughness::ApplyToEnum
ApplyToEnum
Definition: util_draw_dtk.hpp:2566
Dtk_TextStyle::~Dtk_TextStyle
~Dtk_TextStyle()
Destructor.
Dtk_Leader::TerminatorTypeCircleCenter
@ TerminatorTypeCircleCenter
Definition: util_draw_dtk.hpp:1991
Dtk_GeometricalTolerance
This is the geometrical tolerance. It's basically composed by one - or more - Dtk_ToleranceSpecifica...
Definition: util_draw_dtk.hpp:5568
Dtk_ReferenceFrame::ThirdReference
const Dtk_ReferenceBlockPtr & ThirdReference() const
Retrieves the third reference block - read only -.
Dtk_Welding::GetOtherSideSizeText
Dtk_CompositeText GetOtherSideSizeText() const
Retrieves the OtherSideSizeText Dtk_CompositeText.
Dtk_transfo::addTranslate
void addTranslate(const Dtk_dir &V)
Translate the Dtk_transfo.
Dtk_tab::size
Dtk_Size_t size() const
Returns the size of the array.
Definition: util_stl_dtk.hpp:503
Dtk_ToleranceSpecificationContainer::TypePerpendicularity
@ TypePerpendicularity
Definition: util_draw_dtk.hpp:6072
Dtk_Leader::ApplicationZone::ApplicationZone
ApplicationZone()
Default constructor.
Definition: util_draw_dtk.hpp:1870
Dtk_Roughness::Create
static Dtk_RoughnessPtr Create()
Calls default constructor to allocate a new object.
Dtk_CompositeText::SetOuterXAxis
Dtk_ErrorStatus SetOuterXAxis(const Dtk_dir &inXAxis)
Sets the outer bounding box X Axis for the Dtk_CompositeText and included Dtk_Texts.
Dtk_ToleranceSpecification::GetNumReferences
Dtk_Size_t GetNumReferences() const
Retrieves the reference blocks number - read only -. This is a shortcut without using Dtk_ReferenceFr...
DTK_TYPE_VIEW_DISPLAY
@ DTK_TYPE_VIEW_DISPLAY
Definition: define.h:444
Dtk_GeometricalTolerance::Dtk_GeometricalTolerance
Dtk_GeometricalTolerance(const Dtk_GeometricalTolerance &s)
Dtk_FCFFeatureIndicator::Dtk_FCFFeatureIndicator
Dtk_FCFFeatureIndicator(const Dtk_FCFFeatureIndicator &in)
Definition: util_draw_dtk.hpp:5907
Dtk_DatumTarget::SetRotationAngle
Dtk_ErrorStatus SetRotationAngle(const Dtk_Double64 &inRotationAngle)
Sets the annotation angle using the annotation base.
Dtk_Dimension::BasicTypeRectangle
@ BasicTypeRectangle
Definition: util_draw_dtk.hpp:4745
Dtk_CompositeText::SetOuterAnchorPoint
Dtk_ErrorStatus SetOuterAnchorPoint(const Dtk_pnt &inNewLocationPnt, const Dtk_anchor_type &inNewAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_Int32 &inStartingGetText=-1, const Dtk_Int32 &inNumGetTexts=-1, const Dtk_Int32 &inStartingSetText=-1, const Dtk_Int32 &inNumSetTexts=-1)
Set the Dtk_CompositeText outer anchor point.
Dtk_Text::SetInnerXLength
void SetInnerXLength(const Dtk_Double64 &inXLength)
Sets the inner bounding box X length.
DTK_Text_subtype::IsTolSymetricalTol
Dtk_bool IsTolSymetricalTol() const
Tell if the associated Dtk_text is part of Tolerance Symetrical Value group - into Dtk_Dimension -.
Dtk_Frame::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the frame.
Dtk_TextStyle::AttributeNone
@ AttributeNone
Definition: util_draw_dtk.hpp:275
Dtk_HatchingStyle_Unknown
@ Dtk_HatchingStyle_Unknown
Definition: util_draw_dtk.hpp:7563
Dtk_Oriented2dBBox::Transform
void Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the bounding box.
Dtk_View::AddPictures
Dtk_ErrorStatus AddPictures(const Dtk_tab< Dtk_picturePtr > &inPicturesArray)
Adds an array of pictures to the view.
Dtk_Table::getCell
const Dtk_OneCell & getCell(const Dtk_Size_t &inRow, const Dtk_Size_t &inCol) const
Definition: util_draw_dtk.hpp:4376
Dtk_HatchingPattern::_line_width
Dtk_Double64 _line_width
Definition: util_draw_dtk.hpp:7582
Dtk_Frame::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
Translates the frame giving a translation vector.
Dtk_CompositeText::Dtk_CompositeText
Dtk_CompositeText(Dtk_CompositeText &&t) DTK_NOEXCEPT
Move constructor.
Dtk_Grid::Always
@ Always
Definition: util_draw_dtk.hpp:4496
Dtk_Leader::ApplicationZone::_Copy
void _Copy(const ApplicationZone &s)
Definition: util_draw_dtk.hpp:1849
Dtk_Table::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:4317
Dtk_Text::InnerLocation
const Dtk_pnt & InnerLocation() const
Retrieves the inner bounding box location - read only -.
Dtk_Dimension::Dtk_Dimension
Dtk_Dimension()
Dtk_Text::GetInfo
Dtk_InfoPtr & GetInfo()
Retrieves the text infos.
DTK_FRAME_TYPE_SYMMETRICAL_PART
@ DTK_FRAME_TYPE_SYMMETRICAL_PART
Definition: util_draw_dtk.hpp:160
Dtk_Roughness::ModeRadial
@ ModeRadial
Definition: util_draw_dtk.hpp:2584
Dtk_ViewDisplay::Dtk_ViewDisplay
Dtk_ViewDisplay(const Dtk_ViewDisplay &s)
Dtk_Region::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_Annotation.
Dtk_CompositeText::GetInfo
const Dtk_InfoPtr & GetInfo() const
Retrieves the infos.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_RoughnessPtr &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Create from Dtk_RoughnessPtr.
Dtk_Welding::SetTailText
void SetTailText(Dtk_CompositeText inTailText)
Sets the Tail Dtk_CompositeText.
Dtk_Fdt::GetIsZoomableAttribute
bool GetIsZoomableAttribute() const
Gets the Zoomable attribute of the Dtk_Fdt.
Dtk_OneCell::SetBorderBottomColor
void SetBorderBottomColor(const Dtk_Int32 &inBorderBottomColor)
Sets BorderBottomColor of Bottom border.
Dtk_Text::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the text.
Dtk_Welding::SetOtherSideClearanceText
void SetOtherSideClearanceText(Dtk_CompositeText inOtherSideClearanceText)
Sets the OtherSideClearanceText Dtk_CompositeText.
Dtk_OneCell::_Width
Dtk_Double64 _Width
The real width (before and after mergers).
Definition: util_draw_dtk.hpp:4039
Dtk_Fdt::GetDisplayBackgroundColorId
Dtk_ErrorStatus GetDisplayBackgroundColorId(Dtk_Int32 &outColorIdData)
Gets the DisplayBackground color id of the Dtk_Fdt.
Dtk_HatchingPattern::Pitch
Dtk_Double64 & Pitch()
Dtk_ReferenceFrame::operator=
Dtk_ReferenceFrame & operator=(Dtk_ReferenceFrame &&in) DTK_NOEXCEPT
Move assignment operator.
util_geom_ptr_dtk.hpp
Dtk_OneCell::setnbCells_Top_Bottom
void setnbCells_Top_Bottom(const Dtk_Size_t &inNewVal)
Sets nbCells_Top_Bottom.
Dtk_ViewDisplay::DtkDynamicCast
static Dtk_ViewDisplay * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_DatumTarget::SetParameterValue
Dtk_ErrorStatus SetParameterValue(const DatumTargetValueEnum &inValueEnum, Dtk_Val inValue)
Sets the value associated to DatumTargetValueEnum .
Dtk_Welding::GetAngleTextOtherSide
Dtk_Text GetAngleTextOtherSide() const
Retrieves the OtherSide Angle Dtk_Text.
Dtk_Welding::SymbolBackWeld
@ SymbolBackWeld
Definition: util_draw_dtk.hpp:2955
Dtk_Oriented2dBBox::_Copy
void _Copy(const Dtk_Oriented2dBBox &s)
Definition: util_draw_dtk.hpp:492
Dtk_Roughness::GetInvertText
Dtk_Int32 GetInvertText() const
Gets text is invert or not.
DTK_Text_subtype::IsSuffix
Dtk_bool IsSuffix() const
Tell if the associated Dtk_text is part of Suffix group - into Dtk_Dimension -.
Dtk_Fdt::~Dtk_Fdt
virtual ~Dtk_Fdt()
Destructor.
Dtk_ReferenceFrame::AddReferenceBlock
Dtk_ErrorStatus AddReferenceBlock(const Dtk_ReferenceBlockPtr &inReferenceBlock)
Add a reference block to the Dtk_ReferenceFrame.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_CompositeEntity &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Dtk_TextStyle::Attributes
const TextAttributeEnum & Attributes() const
Retrieves the text attribute - read only -.
Dtk_FCFFeatureIndicator
This is the Feature Indicator. It is part of the Dtk_ToleranceSpecification. It's basically compose...
Definition: util_draw_dtk.hpp:5891
Dtk_Region::SetAnnularInnerDiameter
Dtk_ErrorStatus SetAnnularInnerDiameter(Dtk_Double64 inDiameter)
Sets the inner diameter of the annular Dtk_Region.
Dtk_GeometricalTolerance::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_HatchingPattern::_pitch
Dtk_Double64 _pitch
Definition: util_draw_dtk.hpp:7579
Dtk_FCFFeatureIndicator::GetSymbol
const Dtk_Text & GetSymbol() const
Retrieves the Symbol of the Dtk_FCFFeatureIndicator - Read Only -.
Dtk_ViewDisplay::~Dtk_ViewDisplay
~Dtk_ViewDisplay()
Destructor.
Dtk_Camera::Dtk_Camera
Dtk_Camera()
Dtk_Leader::ApplicationZone::_Init
void _Init()
Definition: util_draw_dtk.hpp:1845
Dtk_Text::SetOuterAnchorPointWithTranslation
Dtk_ErrorStatus SetOuterAnchorPointWithTranslation(const Dtk_pnt &new_origin, const Dtk_anchor_type location_anchor_type)
DTK_FRAME_TYPE_SET
@ DTK_FRAME_TYPE_SET
Definition: util_draw_dtk.hpp:154
Dtk_Welding::SetRotationAngle
Dtk_ErrorStatus SetRotationAngle(const Dtk_Double64 &inAngle)
Sets the annotation angle using the annotation base.
Dtk_Table::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_Annotation.
Dtk_Welding::GetSizeTextArrowSide
Dtk_Text GetSizeTextArrowSide() const
Retrieves the ArrowSide Size Dtk_Text.
Dtk_Welding::SetSymbolInfos
void SetSymbolInfos(Dtk_tab< Dtk_pnt > &inPnts)
Process the Welding Symbol Informations.
Dtk_ToleranceSpecification::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:5289
DTK_Text_subtype::IsDownText
Dtk_bool IsDownText() const
Tell if the associated Dtk_text is part of Down group - into Dtk_Dimension -.
Dtk_Camera::Create
static Dtk_CameraPtr Create(const Dtk_pnt &inOriginPoint, const Dtk_pnt &inTarget, const Dtk_Double64 inSemiWidth, const Dtk_Double64 inSemiHeight, const Dtk_dir &inUpVector, const ProjectionTypeEnum inProjectionType=ProjectionTypeParallel, const ZoomFitModeEnum inZoomFitMode=NoZoomFit)
Calls full featured constructor to allocate a new object.
Dtk_Object::DtkDynamicType
virtual int DtkDynamicType(const int &inId)=0
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(Dtk_Symbol &&in)
Calls move constructor to allocate a new object.
Dtk_CompositeText::Dtk_CompositeText
Dtk_CompositeText(const Dtk_Size_t &inNumTexts)
Pre allocator constructor.
Dtk_Drawing::DtkDynamicCast
static Dtk_Drawing * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Symbol::TypeEnum
TypeEnum
Definition: util_draw_dtk.hpp:6359
Dtk_Dimension::GetTexts
const Dtk_CompositeText & GetTexts() const
Retrieves the Dtk_Dimension text - read only -.
Dtk_TextStyle::_pitch
Dtk_Double64 _pitch
Char Pitch.
Definition: util_draw_dtk.hpp:330
Dtk_ToleranceSpecificationContainer::TypeEnum
TypeEnum
Definition: util_draw_dtk.hpp:6055
Dtk_ReferenceBlock::AddReference
Dtk_ErrorStatus AddReference(Dtk_string inFullTextWithMaterialCondition, const Dtk_FdtPtr &inLinkedFdt)
Add a reference to the Dtk_ReferenceBlock.
Dtk_OneCell::getnbCells_Left_Right
Dtk_Int32 getnbCells_Left_Right() const
Gets the Dtk_OneCell nbCells_Left_Right.
Dtk_DatumTarget::GetOptionnalTopTextLeader
const Dtk_LeaderPtr & GetOptionnalTopTextLeader() const
Retrieves optionnal Leader of the Top Text.
Dtk_DatumTarget::EnableFrame
void EnableFrame()
Enables the frame status.
DTK_TYPE_DRAWING
@ DTK_TYPE_DRAWING
Definition: define.h:436
Dtk_Symbol::~Dtk_Symbol
~Dtk_Symbol()
Destructor.
Dtk_Leader::GetArrowHead
const ArrowHead & GetArrowHead() const
Dtk_Text::operator+
friend Dtk_CompositeText operator+(const Dtk_Text &s1, const Dtk_Text &s2)
Dtk_Text::OuterTranslate
Dtk_ErrorStatus OuterTranslate(const Dtk_dir &inTranslateDir)
Translates the outer bounding box giving a translation vector.
Dtk_Oriented2dBBox::GetMiddleRightPoint
Dtk_pnt GetMiddleRightPoint() const
Retrieves the middle right point - Read Only -.
Definition: util_draw_dtk.hpp:601
Dtk_ToleranceSpecificationContainer::GetLeftText
const Dtk_Text & GetLeftText() const
OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer left-text as Dtk_Text - read only -.
Dtk_ViewDisplay::Dtk_ViewDisplay
Dtk_ViewDisplay()
Dtk_Welding::ComplementarySymbolEnum
ComplementarySymbolEnum
Definition: util_draw_dtk.hpp:3045
Dtk_CompositeText::SetInnerAnchorPoint
Dtk_ErrorStatus SetInnerAnchorPoint(const Dtk_pnt &inNewLocationPnt, const Dtk_anchor_type &inNewAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_Int32 &inStartingGetText=-1, const Dtk_Int32 &inNumGetTexts=-1, const Dtk_Int32 &inStartingSetText=-1, const Dtk_Int32 &inNumSetTexts=-1)
Set the Dtk_CompositeText inner anchor point.
Dtk_Fdt::DtkDynamicCast
static Dtk_Fdt * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Leader::LeaderTerminatorTypeEnum
LeaderTerminatorTypeEnum
Internal leader terminator type.
Definition: util_draw_dtk.hpp:1955
Dtk_2dEntity::Transform
virtual Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)=0
Applies a transformation matrix to the entity. //!
Dtk_Grid::ParallelToView
@ ParallelToView
Definition: util_draw_dtk.hpp:4495
Dtk_Camera::GetFocusDistance
Dtk_Double64 GetFocusDistance() const
Processes the Focus Distance ie the Distance between the Origin and the Target points - read only -.
Dtk_Text::Text
const Dtk_string & Text() const
Retrieves the text string - read only -.
Dtk_GeometricalTolerance::operator[]
Dtk_ToleranceSpecificationContainerPtr & operator[](const Dtk_Size_t &inPos)
Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -.
DTK_UNIT_GRADE
@ DTK_UNIT_GRADE
Definition: util_draw_dtk.hpp:85
Dtk_Welding::WeldTextAngle
@ WeldTextAngle
Definition: util_draw_dtk.hpp:3063
Dtk_Frame::_RelatedGeomElements
Dtk_tab< Dtk_CurvePtr > _RelatedGeomElements
Definition: util_draw_dtk.hpp:909
Dtk_Fdt::Create
static Dtk_FdtPtr Create(const Dtk_Fdt &s)
Calls copy constructor to allocate a new object.
Dtk_GeometricalTolerance::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_GeometricalTolerance.
Dtk_FCFFeatureIndicator::Dtk_FCFFeatureIndicator
Dtk_FCFFeatureIndicator(Dtk_FCFFeatureIndicator &&in) DTK_NOEXCEPT
Definition: util_draw_dtk.hpp:5914
Dtk_Welding::GetFinishSymbolTextOtherSide
Dtk_Text GetFinishSymbolTextOtherSide() const
Retrieves the OtherSide Finish Symbol Dtk_Text.
Dtk_OneCell::DtkDynamicType
Dtk_Int32 DtkDynamicType(const int &inId)
Retrieves the dynamic entity type.
Dtk_TextStyle::Font
Dtk_Font & Font()
Retrieves the font - get/set -.
Dtk_Leader::TerminatorTypePlus
@ TerminatorTypePlus
Definition: util_draw_dtk.hpp:1985
Dtk_View::TransformationMatrix
const Dtk_transfo & TransformationMatrix() const
Retrieves the Dtk_View transformation matrix - read only -.
Dtk_HatchingStyle_Coloring
@ Dtk_HatchingStyle_Coloring
Definition: util_draw_dtk.hpp:7565
Dtk_ToleranceSpecificationContainer::operator=
Dtk_ToleranceSpecificationContainer & operator=(Dtk_ToleranceSpecificationContainer &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_Object
Definition: dtk_object.hpp:8
DTK_FRAME_TYPE_SCORED_CIRCLE
@ DTK_FRAME_TYPE_SCORED_CIRCLE
Definition: util_draw_dtk.hpp:133
Dtk_View::Angle
const Dtk_Double64 & Angle() const
Retrieves the Dtk_View angle - read only -.
Dtk_DatumTarget::SetDatumTargetType
void SetDatumTargetType(const DatumTargetTypeEnum inType)
Sets the type of the Dtk_DatumTarget.
Dtk_Grid::Dtk_Grid
Dtk_Grid(const Dtk_Grid &grid)
DTK_FRAME_TYPE_PENTAGON
@ DTK_FRAME_TYPE_PENTAGON
Definition: util_draw_dtk.hpp:170
Dtk_Leader::ApplicationZone::ApplicationZoneEnum
ApplicationZoneEnum
Definition: util_draw_dtk.hpp:1827
Dtk_Welding::SymbolFlareBevelButtWeld
@ SymbolFlareBevelButtWeld
Definition: util_draw_dtk.hpp:2945
Dtk_Font::FontOpentype
@ FontOpentype
Definition: util_draw_dtk.hpp:187
Dtk_Welding::GetNumWeldsTextArrowSide
Dtk_Text GetNumWeldsTextArrowSide() const
Retrieves the ArrowSide NumWelds Dtk_Text.
Dtk_Annotation::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Text::Dtk_Text
Dtk_Text(const Dtk_Text &s)
Copy constructor.
Dtk_Leader::ArrowHead::m_RefDir
Dtk_dir m_RefDir
Definition: util_draw_dtk.hpp:2064
Dtk_Region::Dtk_Region
Dtk_Region(const Dtk_Region &s)
Dtk_Oriented2dBBox::_BottomLeftPnt
Dtk_pnt _BottomLeftPnt
Definition: util_draw_dtk.hpp:470
Dtk_Hatching::GetBoundaries
dtk::Span< Dtk_Boundary > GetBoundaries() const
Retrieves the hatching area boundaries as a span. The first boundary is the outer boundary.
Dtk_GeometricalTolerance::DtkDynamicCast
static Dtk_GeometricalTolerance * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Roughness::SetRoughMode
Dtk_ErrorStatus SetRoughMode(Dtk_Text inRoughModeText)
Sets the rough mode.
dtk_string.hpp
Dtk_HatchingPattern::operator=
Dtk_HatchingPattern & operator=(const Dtk_HatchingPattern &in)
Copy assignment operator.
Definition: util_draw_dtk.hpp:7609
Dtk_ToleranceSpecificationContainer::operator=
Dtk_ToleranceSpecificationContainer & operator=(const Dtk_ToleranceSpecificationContainer &in)
Copy assignment operator.
DTK_ANCHOR_BOTTOM_RIGHT
@ DTK_ANCHOR_BOTTOM_RIGHT
Definition: util_draw_dtk.hpp:99
Dtk_OneCell::HasText
Dtk_bool HasText() const
Definition: util_draw_dtk.hpp:4094
Dtk_Welding::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_ReferenceFrame::Reference
Dtk_ReferenceBlockPtr & Reference(const Dtk_Size_t &inReferencePos)
Retrieves the ith reference block - get/set -.
Dtk_HatchingPattern::Pitch
const Dtk_Double64 & Pitch() const
Retrieves the position offset perpendicular to the hatch line (or dot). Applies for hatching and dott...
Dtk_Hatching::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:7737
Dtk_OneCell::SetBorderBottomBlanked
void SetBorderBottomBlanked(const Dtk_Int32 &inBorderBottomBlanked)
Sets BorderBottomBlanked of Bottom border.
Dtk_Symbol::TypeAxisSystem
@ TypeAxisSystem
Definition: util_draw_dtk.hpp:6377
Dtk_Region::Create
static Dtk_RegionPtr Create(RegionType inType, Dtk_HatchingPattern &inHatchingPattern, Dtk_tab< Dtk_EntityPtr > inGeometries)
Calls full featured constructor to allocate a new object.
Dtk_CompositeText::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the Dtk_CompositeText and included Dtk_Texts.
Dtk_Fdt::TransformationMatrix
Dtk_transfo & TransformationMatrix()
Retrieves the transformation matrix - get/set -.
Dtk_DatumTarget::GetParameterValue
Dtk_ErrorStatus GetParameterValue(const DatumTargetValueEnum &inValueEnum, Dtk_Val &outValue)
Gets the value associated to DatumTargetValueEnum .
Dtk_GeometricalTolerance::AddToleranceSpecificationContainer
Dtk_ErrorStatus AddToleranceSpecificationContainer(const Dtk_ToleranceSpecificationContainerPtr &inTolSpecCont)
Adds a Dtk_ToleranceSpecificationContainer to the Dtk_GeometricalTolerance.
Dtk_Leader::ArrowHead::m_AxisDir
Dtk_dir m_AxisDir
Definition: util_draw_dtk.hpp:2065
Dtk_Symbol::operator=
Dtk_Symbol & operator=(Dtk_Symbol &&in) DTK_NOEXCEPT
Move assignment operator.
DTK_ANCHOR_MIDDLE_RIGHT
@ DTK_ANCHOR_MIDDLE_RIGHT
Definition: util_draw_dtk.hpp:96
Dtk_dir::Normalize
double Normalize()
Dtk_FCFFeatureIndicatorType::GetIndicatorType
const Dtk_FCFFeatureIndicatorTypeEnum & GetIndicatorType() const
Retrieves the IndicatorType semantic Type - Read Only -.
Definition: util_draw_dtk.hpp:5832
dtkNoError
@ dtkNoError
Definition: error_dtk.hpp:149
Dtk_Leader::ArrowHead::CreateGeometries
void CreateGeometries(Dtk_tab< Dtk_CurvePtr > &outRes, Dtk_Int32 inByPolygon=DTK_FALSE) const
Dtk_tab::push_back
void push_back(const T &x)
Inserts an element at the end of the array.
Definition: util_stl_dtk.hpp:416
Dtk_Leader::ArrowHead::_Init
void _Init()
Definition: util_draw_dtk.hpp:2067
Dtk_Drawing::Width
Dtk_Double64 & Width()
Retrieves the drawing width - get/set -.
Dtk_Leader::GetExtensionLine
Dtk_PolylinePtr GetExtensionLine() const
Get the leader Extendion Line.
Dtk_Welding::SetOtherSideSecondFilletLengthText
void SetOtherSideSecondFilletLengthText(Dtk_CompositeText inOtherSideSecondFilletLengthText)
Sets the OtherSideSecondFilletLengthText Dtk_CompositeText.
Dtk_FCFFeatureIndicatorType::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
Translates the IndicatorType giving a translation vector.
Dtk_OneCell::SetBorderLeftColor
void SetBorderLeftColor(const Dtk_RGB &inBorderLeftColor)
Dtk_DatumTarget::Dtk_DatumTarget
Dtk_DatumTarget(Dtk_DatumTarget &&inToBeMoved) DTK_NOEXCEPT
Dtk_Text::GetInnerBoundingBox
const Dtk_Oriented2dBBox & GetInnerBoundingBox() const
Processes the inner bounding box.
Dtk_DatumTarget::Reverse
Dtk_ErrorStatus Reverse()
Reverses the text The text anchor type is replaced by the opposed one and the text orientation is rev...
Dtk_Welding::GetOtherSideClearanceText
Dtk_CompositeText GetOtherSideClearanceText() const
Retrieves the OtherSideClearanceText Dtk_CompositeText.
Dtk_Grid::GetLabelsAsCompositeTexts
Dtk_CompositeText GetLabelsAsCompositeTexts() const
Retrieves the Dtk_Grid labels.
Dtk_GeometricalTolerance::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_GeometricalTolerance anchor point.
Dtk_OneCell::_BorderRightBlanked
Dtk_Int32 _BorderRightBlanked
Definition: util_draw_dtk.hpp:4070
Dtk_Leader::TerminatorTypeXCross
@ TerminatorTypeXCross
Definition: util_draw_dtk.hpp:1987
Dtk_Welding::SetArrowSideOpeningText
void SetArrowSideOpeningText(Dtk_CompositeText inArrowSideOpeningText)
Sets the ArrowSideOpeningText Dtk_CompositeText.
Dtk_Table::getCell
Dtk_OneCell & getCell(const Dtk_Size_t &inRow, const Dtk_Size_t &inCol)
Definition: util_draw_dtk.hpp:4369
Dtk_Roughness::AddAssociatedGeometries
void AddAssociatedGeometries(Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries)
Add Geometries associated to whole Dtk_Roughness.
DTK_FRAME_TYPE_RECTANGLE
@ DTK_FRAME_TYPE_RECTANGLE
Definition: util_draw_dtk.hpp:127
Dtk_Camera::GetClippingDistance
void GetClippingDistance(Dtk_Double64 &outFrontDistance, Dtk_Double64 &outBackDistance) const
get the Front Clipping Distance et Back Clipping Distance
Dtk_Text::SetVerticallyOrientedStatus
Dtk_ErrorStatus SetVerticallyOrientedStatus(const Dtk_bool &inVerticallyOrientedStatus)
Sets the text vertically oriented status.
Dtk_Region::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Leader::ArrowHead::m_HeadType
LeaderTerminatorTypeEnum m_HeadType
Definition: util_draw_dtk.hpp:2062
dtk::Span
Definition: span.hpp:15
Dtk_Symbol::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:6477
Dtk_Leader::_CommonAngularCtor
void _CommonAngularCtor(const Dtk_Double64 &inWidth, const Dtk_Double64 &inHeight, const Dtk_pnt &inArrowLocation, const Dtk_Double64 &inRadius, const LeaderTerminatorTypeEnum &inTerminatorType, const Dtk_pnt &inEndingPnt, const Dtk_pnt &inCenterPnt, const Dtk_bool &IsCounterClockwise)
Dtk_GeometricalTolerance::Create
static Dtk_GeometricalTolerancePtr Create()
Calls default constructor to allocate a new object.
Dtk_View::Dtk_View
Dtk_View(Dtk_View &&s) DTK_NOEXCEPT
Dtk_2dEntity
This is the abstract Dtk_2dEntity class. Gathers Dtk_Annotation and Dtk_Dimension.
Definition: util_draw_dtk.hpp:1741
Dtk_Oriented2dBBox::~Dtk_Oriented2dBBox
~Dtk_Oriented2dBBox()
Destructor.
Dtk_Camera::ProcessXZoomFactor
Dtk_Double64 ProcessXZoomFactor() const
Processes the X - along width - zoom factor - read only -.
Definition: util_draw_dtk.hpp:7489
Dtk_Leader::ApplicationZone::GetApplicationZoneType
ApplicationZoneEnum GetApplicationZoneType() const
Retrieves the ApplicationZone Type - Read Only -.
Definition: util_draw_dtk.hpp:1897
Dtk_Welding::FinishSymbolEnumToString
static Dtk_string FinishSymbolEnumToString(const FinishSymbolEnum &inEnum)
Definition: util_draw_dtk.hpp:3108
Dtk_TextStyle::FontStyle
const FontStyleEnum & FontStyle() const
Retrieves the font style - read only -.
Dtk_Leader::ApplicationZone::operator=
ApplicationZone & operator=(ApplicationZone &&in) DTK_NOEXCEPT
Move assignment operator.
Definition: util_draw_dtk.hpp:1942
Dtk_tab::clear
void clear(int no_delete=0)
Resets the Dtk_tab content.
Definition: util_stl_dtk.hpp:352
Dtk_Text::InnerYAxis
const Dtk_dir & InnerYAxis() const
Retrieves the inner bounding box YAxis - read only -.
Dtk_View::TransformationMatrix
Dtk_transfo & TransformationMatrix()
Retrieves the Dtk_View transformation matrix - get/set-.
Dtk_Frame::Dtk_Frame
Dtk_Frame(const Dtk_frame_type &inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeometricalElts)
Full featured constructor.
Definition: util_draw_dtk.hpp:930
DTK_FDT_MODIFIER_REGARDLESS_OF_FEATURE_SIZE
@ DTK_FDT_MODIFIER_REGARDLESS_OF_FEATURE_SIZE
Definition: util_draw_dtk.hpp:58
Dtk_Welding::SetOtherSideContourSymbol
void SetOtherSideContourSymbol(ComplementarySymbolEnum inContourSymbol)
Set the ContourSymbol of the OtherSide.
Dtk_Frame::_FrameType
Dtk_frame_type _FrameType
Definition: util_draw_dtk.hpp:908
Dtk_Boundary::GetSimplifiedRepresentation
const Dtk_PolylinePtr & GetSimplifiedRepresentation() const
Retrieves a simplified representation of the boundary as a polyline. Useful for simple display.
Dtk_Dimension::Dtk_Dimension
Dtk_Dimension(const DimensionTypeEnum &inDimensionType, Dtk_CompositeText inTexts)
Dtk_2dEntity::Dtk_2dEntity
Dtk_2dEntity(const Dtk_2dEntity &in)
Copy constructor.
Dtk_Text::GetInnerBoundingBox
Dtk_Oriented2dBBox & GetInnerBoundingBox()
Dtk_View::GetBody
Dtk_BodyPtr GetBody(const Dtk_Size_t &inPos) const
Retrieves the ith Body.
Dtk_ToleranceSpecificationContainer::TypeAngularity
@ TypeAngularity
Definition: util_draw_dtk.hpp:6070
Dtk_ReferenceFrame::Create
static Dtk_ReferenceFramePtr Create(const Dtk_ReferenceBlockPtr &inFirstReferenceBlock)
Full featured constructor with one first reference block.
Dtk_FCFFeatureIndicator::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_FCFFeatureIndicator anchor point.
Dtk_Welding::WeldingSymbolEnumToString
static Dtk_string WeldingSymbolEnumToString(const WeldingSymbolEnum &inEnum)
Definition: util_draw_dtk.hpp:3003
DTK_FRAME_TYPE_TRIANGLE
@ DTK_FRAME_TYPE_TRIANGLE
Definition: util_draw_dtk.hpp:137
dtk_rgb.hpp
Dtk_GeometricalTolerance::GetLetteringColor
const Dtk_RGB & GetLetteringColor() const
Gets the lettering color for symbol and references.
Dtk_2dEntity::operator=
Dtk_2dEntity & operator=(Dtk_2dEntity &&in) DTK_NOEXCEPT
Move assignment operator.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_AnnotationPtr &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Create from Dtk_AnnotationPtr.
Dtk_CompositeText::AddText
void AddText(Dtk_Text inText)
Adds a Dtk_Text to the Dtk_CompositeText.
Dtk_ReferenceBlock::SetOuterBoundingBox
void SetOuterBoundingBox(const Dtk_Oriented2dBBox &inOuterBBox) const
Set the outer Bounding Box.
Dtk_Symbol::TypeCenterLine
@ TypeCenterLine
Definition: util_draw_dtk.hpp:6378
Dtk_HatchingPattern::LineWidth
const Dtk_Double64 & LineWidth() const
Retrieves the hatch line width. Applies for hatching.
Dtk_OneCell::operator=
Dtk_OneCell & operator=(const Dtk_OneCell &in)
Copy assignment operator.
Dtk_RGB
Definition: dtk_rgb.hpp:7
DTK_Text_subtype::IsTolLeftParenthesis
Dtk_bool IsTolLeftParenthesis() const
Tell if the associated Dtk_text is part of Tolerance Left Parenthesis group - into Dtk_Dimension -.
Dtk_Symbol::TypeDimension
@ TypeDimension
Definition: util_draw_dtk.hpp:6366
Dtk_GeometricalTolerance::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:5583
DTK_UNIT_FOOT
@ DTK_UNIT_FOOT
Definition: util_draw_dtk.hpp:81
DTK_FRAME_TYPE_HEXAGON
@ DTK_FRAME_TYPE_HEXAGON
Definition: util_draw_dtk.hpp:171
Dtk_Welding::SymbolSteepFlankedSingleVWeld
@ SymbolSteepFlankedSingleVWeld
Definition: util_draw_dtk.hpp:2959
Dtk_HatchingPattern::_angle
Dtk_Double64 _angle
Definition: util_draw_dtk.hpp:7578
DTK_WITHOUT_HIERARCHY
@ DTK_WITHOUT_HIERARCHY
Definition: util_draw_dtk.hpp:66
DTK_Text_subtype::IsPrefix
Dtk_bool IsPrefix() const
Tell if the associated Dtk_text is part of Prefix group - into Dtk_Dimension -.
Dtk_TextStyle::TextAttributeEnum
TextAttributeEnum
Definition: util_draw_dtk.hpp:273
Dtk_OneCell::setAnchor
void setAnchor(const Dtk_Size_t &inNumberOfAnchor)
Set anchor of text.
Dtk_TextStyle::LineSpacing
Dtk_Double64 & LineSpacing()
Retrieves the line spacing - get/set -.
Dtk_Leader::TerminatorTypeFilledSquare
@ TerminatorTypeFilledSquare
Definition: util_draw_dtk.hpp:1973
Dtk_DatumTarget::GetDatumTargetType
Dtk_DatumTarget::DatumTargetTypeEnum GetDatumTargetType() const
Gets the type of the Dtk_DatumTarget.
Dtk_Welding::FinishSymbolToDtk_Text
Dtk_Char8 FinishSymbolToDtk_Text(const FinishSymbolEnum inFinishSymbol) const
Convert FinishSymbolEnum to Dtk_Char8.
Dtk_Font::operator=
Dtk_Font & operator=(const Dtk_Font &in)
Copy assignment operator.
Dtk_Text::OuterYAxis
Dtk_dir & OuterYAxis()
Retrieves the outer bounding box YAxis - get/set -.
Dtk_Leader::Dtk_Leader
Dtk_Leader(Dtk_Leader &&in) DTK_NOEXCEPT
Dtk_Leader::SetApplicationZoneType
void SetApplicationZoneType(const Dtk_Leader::ApplicationZone::ApplicationZoneEnum &inApplicationZoneType, const Dtk_tab< Dtk_CurvePtr > &inRelatedGeomElements)
Set the text frame information - get/set -.
Dtk_CompositeEntity::GetNumPictures
Dtk_Size_t GetNumPictures() const
Retrieves the number of Dtk_picturePtr in Dtk_CompositeEntity.
Dtk_GeometricalTolerance::~Dtk_GeometricalTolerance
~Dtk_GeometricalTolerance()
Destructor.
Dtk_Welding::GetWeldingSymbolArrowSide
WeldingSymbolEnum GetWeldingSymbolArrowSide() const
Retrieves the ArrowSide WeldingSymboEnum.
Dtk_CompositeText::GetWrappingWidth
const Dtk_Double64 & GetWrappingWidth() const
Retrieves the wrapping width.
Dtk_2dEntity::Dtk_2dEntity
Dtk_2dEntity()
Default constructor.
Dtk_Region::GetRectangularWidth
Dtk_ErrorStatus GetRectangularWidth(Dtk_Double64 &outWidth)
Gets the width of the rectangular Dtk_Region.
Dtk_Table::nbCells_Col
Dtk_tab< Dtk_Size_t > nbCells_Col
number of cells on each column (if we consider mergers)
Definition: util_draw_dtk.hpp:4292
Dtk_Info::create
static Dtk_SmartPtr< Dtk_Info > create()
Calls default constructor to allocate a new object.
Dtk_Frame::operator=
Dtk_Frame & operator=(const Dtk_Frame &in)
Copy assignment operator.
Dtk_Table::operator[]
const Dtk_OneCell * operator[](const Dtk_Size_t &inPos) const
Dtk_CompositeText::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
Translates the Dtk_CompositeText giving a translation vector.
Dtk_Leader::TerminatorTypeDoubleOpenArrow
@ TerminatorTypeDoubleOpenArrow
Definition: util_draw_dtk.hpp:1993
Dtk_ToleranceSpecificationContainer::GetBottomTextLabel
Dtk_string GetBottomTextLabel() const
Retrieves the Dtk_ToleranceSpecificationContainer bottom-text - read only -.
Dtk_Oriented2dBBox
This is the base bounding box class. It's used into a lot of 2D Entities This class represents the ba...
Definition: util_draw_dtk.hpp:468
Dtk_Symbol::CreateFrameAsGeometries
Dtk_ErrorStatus CreateFrameAsGeometries()
Processes Dtk_Symbol frame as geometrical elements/.
Dtk_Table::nbCol
Dtk_Size_t nbCol
Number of columns.
Definition: util_draw_dtk.hpp:4288
Dtk_View::Get2dGeometricalEntity
Dtk_EntityPtr Get2dGeometricalEntity(const Dtk_Size_t &inPos) const
Retrieves the ith geometrical entity.
Dtk_Welding::SymbolANSIEdgeWeld
@ SymbolANSIEdgeWeld
Definition: util_draw_dtk.hpp:2985
Dtk_TextStyle::StyleRegular
@ StyleRegular
Definition: util_draw_dtk.hpp:254
Dtk_FCFFeatureIndicatorType::CreateGeometries
Dtk_ErrorStatus CreateGeometries(Dtk_tab< Dtk_CurvePtr > &outGeoms) const
Process IndicatorType Related geometries.
Dtk_Camera::GetSemiWidth
Dtk_Double64 GetSemiWidth() const
Retrieves the Camera Base Semi Width - read only -.
Dtk_Grid::DtkDynamicCast
static Dtk_Grid * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_pnt &inLocation, const Dtk_anchor_type &inLocationAnchorType)
Calls full featured constructor to allocate a new object.
span.hpp
Dtk_CompositeEntity::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Welding::GetOtherSideAllTexts
std::unordered_map< Dtk_UInt8, Dtk_CompositeText > GetOtherSideAllTexts() const
Return all the texts of the OtherSide.
Dtk_Dimension::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Leader::GetLeaderType
LeaderTypeEnum GetLeaderType() const
Gets the leader type - read only -.
Dtk_ToleranceSpecification::DtkDynamicCast
static Dtk_ToleranceSpecification * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_DatumTarget::ProcessRadius
Dtk_Double64 ProcessRadius() const
Processes the Dtk_DatumTarget radius.
Dtk_Text::~Dtk_Text
~Dtk_Text()
Destructor.
Dtk_Camera
This is the Camera class. This class lets you define elements to create frustum. .
Definition: util_draw_dtk.hpp:7360
Dtk_Oriented2dBBox::SetYLength
void SetYLength(const Dtk_Double64 &inNewXlength)
Retrieves the Y length.
Dtk_GeometricalTolerance::GetToleranceSpecificationContainerNb
Dtk_Size_t GetToleranceSpecificationContainerNb() const
Retrieves the Dtk_ToleranceSpecificationContainer number - read only -.
Dtk_HatchingPattern::Angle
Dtk_Double64 & Angle()
Dtk_GeometricalTolerance::Create
static Dtk_GeometricalTolerancePtr Create(Dtk_GeometricalTolerance &&in)
Calls move constructor to allocate a new object.
Dtk_Welding::GetOtherSideSecondFilletLengthText
Dtk_CompositeText GetOtherSideSecondFilletLengthText() const
Retrieves the OtherSideSecondFilletLengthText Dtk_CompositeText.
Dtk_Table
Represents the tables.
Definition: util_draw_dtk.hpp:4281
Dtk_View::AddBodies
Dtk_ErrorStatus AddBodies(Dtk_tab< Dtk_BodyPtr > inBodyArray)
Adds an array of bodies displayed in the view.
Dtk_Text::Dtk_Text
Dtk_Text()
Default constructor.
Dtk_Fdt::Sub2DEntity
Dtk_2dEntityPtr & Sub2DEntity()
Retrieves the sub 2D entity - get/set -.
Dtk_ReferenceBlock::AddReference
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.
Dtk_Region::SetAnnularOuterDiameter
Dtk_ErrorStatus SetAnnularOuterDiameter(Dtk_Double64 inDiameter)
Sets the outer diameter of the annular Dtk_Region.
Dtk_Welding::SymbolSeamWeld
@ SymbolSeamWeld
Definition: util_draw_dtk.hpp:2969
Dtk_ToleranceSpecification::Explode
Dtk_ErrorStatus Explode(Dtk_CompositeText &outCompositeText, Dtk_tab< Dtk_CurvePtr > &outGeoms)
Explodes the Dtk_ToleranceSpecification into Dtk_CompositeText and geometrical elements - used for Dt...
DTK_TYPE_ROUGHNESS
@ DTK_TYPE_ROUGHNESS
Definition: define.h:434
Dtk_Region::~Dtk_Region
~Dtk_Region()
Destructor.
Dtk_Boundary::Dtk_Boundary
Dtk_Boundary(dtk::Span< Dtk_CurvePtr const > exactRepresentation, Dtk_PolylinePtr simplifiedRepresentation)
Construct a boundary provided both its exact representation as curves, as well as a simplified repres...
Dtk_Camera::Create
static Dtk_CameraPtr Create(const Dtk_pnt &inOriginPoint, const Dtk_pnt &inTarget, const Dtk_dir &inUpVector, const double &inAngle, const double &inFocus, const double &inZoomFactor=1.0, const ProjectionTypeEnum inProjectionType=ProjectionTypeParallel, const ZoomFitModeEnum inZoomFitMode=NoZoomFit)
Calls full featured constructor to allocate a new object.
Dtk_View::ViewType
ViewType
Definition: util_draw_dtk.hpp:6973
Dtk_Welding::ComplementarySymbolWeldWithConvexFace
@ ComplementarySymbolWeldWithConvexFace
Definition: util_draw_dtk.hpp:3050
Dtk_Drawing::AddOrigin
Dtk_ErrorStatus AddOrigin(const Dtk_pnt &origin)
Internal use only.
Dtk_ReferenceFrame::Reference
const Dtk_ReferenceBlockPtr & Reference(const Dtk_Size_t &inReferencePos) const
Retrieves the ith reference blocks - read only -.
Dtk_Oriented2dBBox::Clear
void Clear()
Clear elements.
Definition: util_draw_dtk.hpp:525
DTK_Text_subtype::IsValSplitPart2
Dtk_bool IsValSplitPart2() const
Tell if the associated Dtk_text is part of Value Split Part 2 - for Degrees/Minutes/Seconds form - gr...
Dtk_TextStyle::AttributeSuperscript
@ AttributeSuperscript
Definition: util_draw_dtk.hpp:283
Dtk_OneCell::_CopyC
void _CopyC(const Dtk_OneCell &cell)
Dtk_Welding::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:3251
Dtk_2dEntity::operator=
Dtk_2dEntity & operator=(const Dtk_2dEntity &in)
Copy assignment operator.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_Welding &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
DTK_TYPE_TOL_SPEC
@ DTK_TYPE_TOL_SPEC
Definition: define.h:466
Dtk_Welding::Dtk_Welding
Dtk_Welding(const Dtk_Welding &s)
Dtk_Grid::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:4484
Dtk_Roughness::Translate
void Translate(const Dtk_dir &inTranslationDir)
Translates the Dtk_ReferenceBlock - internal use only -.
Dtk_dir
This is a mathematical direction class.
Definition: dtk_dir.hpp:14
Dtk_Oriented2dBBox::Extend
void Extend(const Dtk_Double64 &inXExtend, const Dtk_Double64 &inYExtend)
Extend the bounding box.
Dtk_OneCell::_ResetC
void _ResetC()
Dtk_Symbol::TypeDatumTarget
@ TypeDatumTarget
Definition: util_draw_dtk.hpp:6364
Dtk_DatumTarget::GetDatumTargetMovableStatus
Dtk_DatumTarget::DatumTargetMovableStatusEnum GetDatumTargetMovableStatus() const
Gets the Movable status of the Dtk_DatumTarget.
Dtk_CompositeText::SetWrappingWidth
void SetWrappingWidth(const Dtk_Double64 &inWrappingWidth)
Sets the wrapping width.
Dtk_Leader::GetArrowLocation
const Dtk_pnt & GetArrowLocation() const
Retrieves The ArrowHead Location point - Get Only -.
Dtk_Annotation::Dtk_Annotation
Dtk_Annotation(Dtk_Annotation &&in) DTK_NOEXCEPT
Move constructor.
Dtk_CompositeEntity::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:7830
Dtk_Text::GetInnerXYAxis
void GetInnerXYAxis(Dtk_dir &outXAxis, Dtk_dir &outYAxis) const
Gets the inner bounding box orientation.
Dtk_Welding::SetWeldTailActivated
void SetWeldTailActivated(const Dtk_bool inTailActivated=DTK_FALSE)
Sets the Tail Activation Flag.
Dtk_Roughness::_ProcessSideLength
Dtk_Double64 _ProcessSideLength()
Dtk_Welding::FinishSymbolChip
@ FinishSymbolChip
Definition: util_draw_dtk.hpp:3092
Dtk_Leader::SetAllAroundSet
void SetAllAroundSet(const Dtk_bool &inAllAroundSetValue)
Set the status of the all around property for the current drawing leader.
Dtk_DatumTarget::ProcessBoundingBox
Dtk_Oriented2dBBox ProcessBoundingBox() const
Dtk_GeometricalTolerance::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_Leader::TerminatorTypeFillArrow
@ TerminatorTypeFillArrow
Definition: util_draw_dtk.hpp:1963
Dtk_OneCell::min_Width
Dtk_Double64 min_Width
The original width before mergers.
Definition: util_draw_dtk.hpp:4043
Dtk_frame_type
Dtk_frame_type
Definition: util_draw_dtk.hpp:124
Dtk_HatchingPattern::Color
Dtk_RGB & Color()
Dtk_ReferenceFrame::Create
static Dtk_ReferenceFramePtr Create(const Dtk_ReferenceFrame &in)
Calls copy constructor to allocate a new object.
Dtk_ViewDisplay::SetVisibleEdgesLineStyle
void SetVisibleEdgesLineStyle(Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor)
Set Line style for Visible Edges.
Dtk_FCFFeatureIndicatorType::IntersectionPlane
@ IntersectionPlane
Definition: util_draw_dtk.hpp:5764
Dtk_Symbol::SymbolType
TypeEnum & SymbolType()
Retrieves the Dtk_Symbol type - get/set -.
Dtk_HatchingPattern::Angle
const Dtk_Double64 & Angle() const
Retrieves the angle between horizontal line and hatch line (or dot). Applies for hatching and dotting...
Dtk_TextStyle::FontStyle
FontStyleEnum & FontStyle()
Retrieves the font style - get/set -.
Dtk_Table::GetNumCols
Dtk_Size_t GetNumCols() const
Gets the Dtk_Table columns number.
Dtk_Leader::TerminatorTypeCrossedCircle
@ TerminatorTypeCrossedCircle
Definition: util_draw_dtk.hpp:1977
Dtk_CompositeText::~Dtk_CompositeText
~Dtk_CompositeText()
Destructor.
Dtk_HatchingStyle
Dtk_HatchingStyle
Definition: util_draw_dtk.hpp:7562
Dtk_DatumTarget::Dtk_DatumTarget
Dtk_DatumTarget(Dtk_CompositeText inTopText, Dtk_CompositeText inBottomText, const Dtk_pnt &inLocationPnt, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inAngle=0.0, const Dtk_Double64 &inOffSet=0.0, const Dtk_bool &inHasFrame=DTK_TRUE, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Dtk_Dimension::ShowDualValueTypeEnum
ShowDualValueTypeEnum
Definition: util_draw_dtk.hpp:4751
DTK_TYPE_WELDING
@ DTK_TYPE_WELDING
Definition: define.h:437
Dtk_Welding::GetNumWeldsTextOtherSide
Dtk_Text GetNumWeldsTextOtherSide() const
Retrieves the OtherSide NumWelds Dtk_Text.
Dtk_Symbol::SetFrameType
void SetFrameType(const Dtk_frame_type &inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements)
Set the Dtk_Symbol frame information - get/set -.
Dtk_Roughness::_Private
Dtk_Handle * _Private
Definition: util_draw_dtk.hpp:2595
Dtk_Leader::GetApplicationZoneType
Dtk_Leader::ApplicationZone::ApplicationZoneEnum GetApplicationZoneType() const
Retrieves the Frame - read only -.
Dtk_DatumTarget::DatumTargetMovableStatusEnum
DatumTargetMovableStatusEnum
Definition: util_draw_dtk.hpp:3728
DTK_FRAME_TYPE_FLAG_RIGHT_TRIANGLE
@ DTK_FRAME_TYPE_FLAG_RIGHT_TRIANGLE
Definition: util_draw_dtk.hpp:168
Dtk_Boundary::~Dtk_Boundary
~Dtk_Boundary()
Destructor.
Dtk_Dimension::BasicTypeCircle
@ BasicTypeCircle
Definition: util_draw_dtk.hpp:4746
Dtk_GeometricalTolerance::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:5600
Dtk_Welding::ComplementarySymbolWeldWithFlatFace
@ ComplementarySymbolWeldWithFlatFace
Definition: util_draw_dtk.hpp:3048
dtk_object.hpp
Dtk_Dimension::SetAsDeprecated
SetAsDeprecated("2025.4", "Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead") Dtk_ErrorStatus AddLeaderWithExtensionLine(const Dtk_LeaderPtr &inLeader
Adds a leader with an extension line to the Dtk_Dimension.
Dtk_TextStyle::CharSpacing
const Dtk_Double64 & CharSpacing() const
Retrieves the char spacing - read only -.
Dtk_Leader::SetLeaderCurveColor
void SetLeaderCurveColor(const Dtk_RGB &inColor)
Set the leader curve Color.
Dtk_Table::getNbcols
Dtk_Size_t getNbcols()
Gets the number of colums in Dtk_Table.
Dtk_Drawing::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:6753
Dtk_Frame::SetFrameData
void SetFrameData(const Dtk_frame_type &inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements)
Set Frame informations.
Definition: util_draw_dtk.hpp:958
Dtk_ToleranceSpecificationContainer::ToleranceSpecificationContainerType
const TypeEnum & ToleranceSpecificationContainerType() const
Retrieves the Dtk_ToleranceSpecificationContainer type - read only -.
Dtk_ReferenceFrame::FirstReference
Dtk_ReferenceBlockPtr & FirstReference()
Retrieves the first reference block - get/set -.
Dtk_Roughness::SetCutOff
Dtk_ErrorStatus SetCutOff(Dtk_Text inText)
Sets the CutOff text.
Dtk_View::Scale
const Dtk_Double64 & Scale() const
Retrieves the Dtk_View scale - read only -.
Dtk_Annotation::Dtk_Annotation
Dtk_Annotation(const Dtk_pnt &inLocationPnt, const Dtk_InfoPtr &inInfos, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inAngle=0.0, const Dtk_Double64 &inOffSet=0.0, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Full featured constructor.
Dtk_OneCell::SetBorderTopColor
void SetBorderTopColor(const Dtk_RGB &inBorderTopColor)
Dtk_Symbol::DtkDynamicCast
static Dtk_Symbol * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_FCFFeatureIndicatorType::Dtk_FCFFeatureIndicatorType
Dtk_FCFFeatureIndicatorType(Dtk_FCFFeatureIndicatorType &&in) DTK_NOEXCEPT
Move constructor.
Definition: util_draw_dtk.hpp:5800
DTK_Text_subtype::IsRightText
Dtk_bool IsRightText() const
Tell if the associated Dtk_text is part of right group - into Dtk_Dimension -.
Dtk_Grid::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_Annotation anchor points.
Dtk_CompositeText::GetOuterBoundingBox
const Dtk_Oriented2dBBox GetOuterBoundingBox(Dtk_bool inIncludeInvisible=DTK_TRUE) const
Processes the outer bounding box.
Dtk_ReferenceFrame::GetNumReferences
Dtk_Size_t GetNumReferences() const
Retrieves the number of reference blocks - read only -.
Dtk_Fdt
This is the FD&T class. The base PMI Class contains a Dtk_2dEntity and Transformation Matrix to loca...
Definition: util_draw_dtk.hpp:7217
Dtk_GeometricalTolerance::GetOuterBoundingBox
Dtk_ErrorStatus GetOuterBoundingBox(const Dtk_bool &inProcessAddtionnalTexts, Dtk_Oriented2dBBox &outOuterBBox) const
Dtk_HatchingPattern::Offset
Dtk_Double64 & Offset()
Dtk_Roughness::GetTopLeftText
Dtk_Text GetTopLeftText() const
Gets the top-left text - read only -.
Dtk_Text::Dtk_Text
Dtk_Text(Dtk_Text &&s) DTK_NOEXCEPT
Move constructor.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create(const Dtk_DimensionPtr &inToBeConverted, const Dtk_bool &inKeepLeaderAsLeader=DTK_FALSE)
Create from Dtk_DimensionPtr.
Dtk_Oriented2dBBox::GetTopLeftPoint
Dtk_pnt GetTopLeftPoint() const
Retrieves the top left point - Read Only -.
Definition: util_draw_dtk.hpp:564
Dtk_View::Create
static Dtk_ViewPtr Create(const Dtk_View &in)
Calls copy constructor to allocate a new object.
Dtk_Frame::_Copy
void _Copy(const Dtk_Frame &s)
Definition: util_draw_dtk.hpp:914
Dtk_View::GetClippingBoundary
const Dtk_CompositeEntityPtr & GetClippingBoundary() const
Dtk_Grid::DrawLabelsInOriginUnit
void DrawLabelsInOriginUnit(const Dtk_bool &inVal)
Draws Labels in millimeters or in origin unit.
Dtk_Fdt::SetIsZoomableAttribute
void SetIsZoomableAttribute(const bool &inBool)
Sets the Zoomable attribute of the Dtk_Fdt.
Dtk_Leader::LeaderTypeEnum
LeaderTypeEnum
Internal leader type - linear or angular -.
Definition: util_draw_dtk.hpp:2183
DTK_NOEXCEPT
#define DTK_NOEXCEPT
Definition: config.hpp:30
Dtk_Text::SetOuterBoundingBox
Dtk_ErrorStatus SetOuterBoundingBox(const Dtk_Oriented2dBBox &outerBoundingBox)
Sets the outer bounding box.
Dtk_Welding::SetOtherSideTexts
void SetOtherSideTexts(std::unordered_map< Dtk_UInt8, Dtk_CompositeText > &inTexts)
Set the Dtk_Welding OtherSide Texts and their types.
Dtk_alignment_type
Dtk_alignment_type
Definition: util_draw_dtk.hpp:103
DTK_TYPE_SPECIFICATION_INDICATOR
@ DTK_TYPE_SPECIFICATION_INDICATOR
Definition: define.h:478
Dtk_Oriented2dBBox::SetMiddleLeftPoint
void SetMiddleLeftPoint(const Dtk_pnt &inNewPoint)
Sets the middle left point.
Dtk_ToleranceSpecificationContainer::TypePosition
@ TypePosition
Definition: util_draw_dtk.hpp:6076
DTK_Text_subtype::Dump
Dtk_string Dump() const
Return all subtypes as a Dtk_string.
DTK_PI
#define DTK_PI
Definition: str_def.h:8
Dtk_ViewDisplay::DisplayMode3DEnum
DisplayMode3DEnum
Definition: util_draw_dtk.hpp:6855
Dtk_Oriented2dBBox::GetPoint
Dtk_pnt GetPoint(const enum Dtk_anchor_type &inAnchorType) const
Retrieves the point with inAnchorType type.
Dtk_FCFFeatureIndicatorType::DirectionFeature
@ DirectionFeature
Definition: util_draw_dtk.hpp:5760
Dtk_Welding::GetTailText
Dtk_CompositeText GetTailText() const
Retrieves the Tail Dtk_CompositeText.
Dtk_Roughness::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_Annotation.
DTK_FRAME_TYPE_SCORED_RECTANGLE
@ DTK_FRAME_TYPE_SCORED_RECTANGLE
Definition: util_draw_dtk.hpp:164
Dtk_DatumTarget::DatumTargetMovableStatusEnumToString
static Dtk_string DatumTargetMovableStatusEnumToString(const DatumTargetMovableStatusEnum &inEnum)
Definition: util_draw_dtk.hpp:3732
Dtk_ViewDisplay::Dtk_ViewDisplay
Dtk_ViewDisplay(DisplayMode3DEnum inDisplayMode)
Dtk_Table::Dtk_Table
Dtk_Table(const Dtk_Int32 &inNumRows, const Dtk_Int32 &inNumCols, const Dtk_pnt &inLocationPnt=Dtk_pnt(0, 0, 0), const Dtk_Double64 &inAngle=0.0, const Dtk_InfoPtr &infos=NULL, Dtk_tab< Dtk_LeaderPtr > inLeadersArray=Dtk_tab< Dtk_LeaderPtr >(), const Dtk_Double64 &inOffSet=0.0, const Dtk_anchor_type &inAnchorType=DTK_ANCHOR_BOTTOM_LEFT, const Dtk_justication_type &inJustificationType=DTK_JUSTIFY_LEFT)
Dtk_FCFFeatureIndicatorType::GetOuterBoundingBox
const Dtk_Oriented2dBBox & GetOuterBoundingBox() const
Retrieves the IndicatorType Outer Bounding Box - basically the related geometries BBox - - Read Only ...
Definition: util_draw_dtk.hpp:5843
Dtk_Entity
Definition: util_ent_dtk.hpp:371
Dtk_ToleranceSpecificationContainer::TypeLineProfile
@ TypeLineProfile
Definition: util_draw_dtk.hpp:6066
Dtk_Welding::SetArrowSideWeldingSymbol
void SetArrowSideWeldingSymbol(WeldingSymbolEnum inWeldingSymbol)
Set the WeldingSymbol of the ArrowSide.
Dtk_Welding::SymbolISOEdgeWeld
@ SymbolISOEdgeWeld
Definition: util_draw_dtk.hpp:2987
Dtk_Welding::AddOtherSideAssociatedGeometry
void AddOtherSideAssociatedGeometry(Dtk_EntityPtr inAssociatedGeometry)
Add an AssociatedGeometry of the OtherSide.
Dtk_Leader::TerminatorTypeOpenArrow
@ TerminatorTypeOpenArrow
Definition: util_draw_dtk.hpp:1959
Dtk_Font::FontPostscript
@ FontPostscript
Definition: util_draw_dtk.hpp:186