DATAKIT SDK  V2026.4
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/dtk_oleobject.hpp"
18 #include "util/util_ptr_dtk.hpp"
19 #include "util/util_stl_dtk.hpp"
21 #include "util/dtk/span.hpp"
22 #include <cmath>
23 #include "def/define.h"
24 #include "dtk/config.hpp"
25 #include <iosfwd>
26 #include <memory>
27 #include <type_traits>
28 #include <unordered_map>
29 
30 // #ifdef _DEBUG -----> Never use this condition , DEBUG_DTK only for internal use
31 // # ifndef _DEBUG_DTK
32 // # define _DEBUG_DTK
33 // # endif
34 // #endif
35 
36 /// @cond NO_DOXYGEN_DOC
37 //Forward declarations
38 struct polyline_def;
39 typedef struct polyline_def Polyline_detk;
40 
41 
42 
43 class Dtk_Connector;
44 class Dtk_ConnectorPart;
45 
46 typedef Dtk_SmartPtr<Dtk_Connector> Dtk_ConnectorPtr;
47 typedef Dtk_SmartPtr<Dtk_ConnectorPart> Dtk_ConnectorPartPtr;
48 ////
49 ////typedef Dtk_tab<Dtk_ConnectorPtr> Dtk_ConnectorTab;
50 ////typedef Dtk_tab<Dtk_ConnectorPartPtr> Dtk_ConnectorPartTab;
51 /// @endcond
52 
53 ////////////////////////////////////////////////////////////////////////////////////////////////
54 //! \enum DTK_FDT_MODIFIER
55 //! \brief This is the several tolerances modifiers list
62 };
63 //! \enum DTK_DATUM_COMPOSING_RULE
64 //! \brief This is the several references composing rules
70 };
71 ////////////////////////////////////////////////////////////////////////////////////////////////
72 
73 
74 
75 enum Dtk_Unit {
77  // Length
84  // Angle
88  // Degree, Minute, Second
90 };
91 
103 };
104 
107  //! \image html TextAlignmentLeft.png
109  //! \image html TextAlignmentRight.png
111  //! \image html TextAlignmentCenter.png
113  //! \image html TextAlignmentJustifed.png
115 };
116 
118  //! \image html TextAlignmentLeft.png
120  //! \image html TextAlignmentCenter.png
122  //! \image html TextAlignmentRight.png
124 };
125 
128  //! \image html FrameTypeRectangle.png
130  //! \image html FrameTypeSquare.png
132  //! \image html FrameTypeCircle.png
134  //! \image html FrameTypeScoredCircle.png
136  //! \image html FrameTypeDiamond.png
138  //! \image html FrameTypeTriangle.png
140  //! \image html FrameTypeFlagRight.png
142  //! \image html FrameTypeFlagLeft.png
144  //! \image html FrameTypeFlagBoth.png
146  //! \image html FrameTypeOblong.png
148  //! \image html FrameTypeOblongRight.png
150  //! \image html FrameTypeOblongLeft.png
152  //! \image html FrameTypeEllipse.png
155  //! \image html FrameTypeSet.png
157  //! \image html FrameTypeFixedSupport.png
159  //! \image html FrameTypeNota.png
161  //! \image html FrameTypeSymmetricalPart.png
163  //! \image html FrameTypeSymmetricalSet.png
165  //! \image html FrameTypeScoredRectangle.png
167  //! \image html FrameTypeParallelogram.png
176 };
177 
178 //! \ingroup draw
179 //! \class Dtk_Font
180 //! \brief This is the font class
181 //! This class lets you access to font information (name, type ...)
182 class Dtk_Font
183 {
184 public:
190  };
191 protected:
192  //! \brief Font name
194  //! \brief Font type (Postcript, TrueType)
196  //! \brief Font ID
198 public:
199  //! \BaseDestructor
201  //! \BaseConstructor
203 
204  //! \brief Retrieves the font name - get/set -
205  //! \return The font name
206  //! \sa Name() const
208 
209  //! \brief Retrieves the font name - read only -
210  //! \return The font name
211  //! \sa Name()
212  const Dtk_string& Name() const;
213 
214  //! \brief Retrieves the font type - get/set -
215  //! \return The font type (FontTruescript, FontPostscript, etc...)
216  //! \sa FontTypeEnum() const
218 
219  //! \brief Retrieves the font type - read only -
220  //! \return The font type (FontTruescript, FontPostscript, etc...)
221  //! \sa FontTypeEnum()
222  const FontTypeEnum& FontType() const;
223 
224  //! \brief Retrieves the font Id - get/set -
225  //! \return The font Id
226  //! \sa ID() const
228 
229  //! \brief Retrieves the font Id - read only -
230  //! \return The font Id
231  //! \sa ID()
232  const Dtk_Size_t& ID() const;
233 
234  //! \internal
235 };
236 
237 //! \ingroup draw
238 //! \class Dtk_TextStyle
239 //! \brief This is the text_style.
240 //! This class gathers information about text style.
242 {
243 public:
245  //! \image html FontStyleRegular.png
247  //! \image html FontStyleBold.png
249  //! \image html FontStyleItalic.png
251  //! \image html FontStyleBoldItalic.png
253  };
254  static inline Dtk_string FontStyleEnumToString( const FontStyleEnum& inEnum )
255  {
256  switch( inEnum )
257  {
258  default:
259  case StyleRegular: return L"StyleRegular";
260  case StyleBold: return L"StyleBold";
261  case StyleItalic: return L"StyleItalic";
262  case StyleBoldItalic: return L"StyleBoldItalic";
263  }
264  }
266  //! \image html TextAttributeNone.png
268  //! \image html TextAttributeUnderline.png
270  //! \image html TextAttributeStrikethrough.png
272  //! \image html TextAttributeOverline.png
274  //! \image html TextAttributeSuperscript.png
276  //! \image html TextAttributeSubscript.png
277  AttributeSubscript = 16
278  };
280  //! \image html TextJustificationLeft.png
282  //! \image html TextJustificationCenter.png
284  //! \image html TextJustificationRight.png
287  };
289  {
290  switch( inEnum )
291  {
292  default:
293  case JustificationLeft: return L"JustificationLeft";
294  case JustificationCenter: return L"JustificationCenter";
295  case JustificationRight: return L"JustificationRight";
296  case JustificationNone: return L"JustificationNone";
297  }
298  }
299 protected:
300 
301  //! \brief Font informations
303  //! \brief Font Style type (Regular, Italic, etc...)
305  //! \brief Text Attribute (Underline, etc...)
307  //! \brief Text Justification (Left, etc...)
309  //! \brief Height of each char in the text
311  //! \brief Spacing between two chars
313  //! \brief Width of each char in the text
315  //! \brief Spacing between two lines in the text - for multiline texts for example -
317  //! \brief Char Slant (PI/2 by default)
319  //! \brief Char Ratio. It represents the stretch of the width of the text. Default value is 1.
321  //! \brief Char Pitch
323 public:
324  //! \BaseDestructor
326 
327  //! \BaseConstructor
329 
330  //! \brief Retrieves the font - get/set -
331  //! \return The font
332  //! \sa Font() const
334 
335  //! \brief Retrieves the font - read only -
336  //! \return The font
337  //! \sa Font()
338  const Dtk_Font& Font() const;
339 
340  //! \brief Retrieves the font style - get/set -
341  //! \return The font style
342  //! \sa FontStyle() const
344 
345  //! \brief Retrieves the font style - read only -
346  //! \return The font style
347  //! \sa FontStyle()
348  const FontStyleEnum& FontStyle() const;
349 
350  //! \brief Retrieves the text attribute - get/set -
351  //! \return The text attribute
352  //! \sa Attributes() const
354 
355  //! \brief Retrieves the text attribute - read only -
356  //! \return The text attribute
357  //! \sa Attributes()
359 
360  //! \brief Retrieves the text justification - get/set -
361  //! \return The text justification
362  //! \sa Justification()
364 
365  //! \brief Retrieves the text justification - read only -
366  //! \return The text justification
367  //! \sa Justification() const
369 
370  //! \brief Retrieves the char height - get/set -
371  //! \return The char height
372  //! \sa CharHeight() const
374 
375  //! \brief Retrieves the char height - Read Only -
376  //! \return The char height
377  //! \sa CharHeight()
378  const Dtk_Double64& CharHeight() const;
379 
380  //! \brief Retrieves the char spacing - get/set -
381  //! \return The char spacing
382  //! \sa CharSpacing() const
384 
385  //! \brief Retrieves the char spacing - read only -
386  //! \return The char spacing
387  //! \sa CharSpacing()
388  const Dtk_Double64& CharSpacing() const;
389 
390  //! \brief Retrieves the char width - get/set -
391  //! \return The char width
392  //! \sa CharWidth() const
394 
395  //! \brief Retrieves the char width - read only -
396  //! \return The char width
397  //! \sa CharWidth()
398  const Dtk_Double64& CharWidth() const;
399 
400  //! \brief Retrieves the line spacing - get/set -
401  //! \return The line spacing
402  //! \sa LineSpacing() const
404 
405  //! \brief Retrieves the line spacing - read only -
406  //! \return The line spacing
407  //! \sa LineSpacing()
408  const Dtk_Double64& LineSpacing() const;
409 
410  //! \brief Retrieves the text slant - get/set -
411  //! \return The text slant
412  //! \sa Slant() const
414 
415  //! \brief Retrieves the text slant - read only -
416  //! \return The text slant
417  //! \sa Slant()
418  const Dtk_Double64& Slant() const;
419 
420  //! \brief Retrieves the text ratio - get/set -
421  //! \return The text ratio
422  //! \sa Ratio() const
424 
425  //! \brief Retrieves the text ratio - Read Only -
426  //! \return The text ratio
427  //! \sa Ratio()
428  const Dtk_Double64& Ratio() const;
429 
430  //! \brief Retrieves the text pitch - get/set -
431  //! \return The text pitch
432  //! \sa Pitch() const
434 
435  //! \brief Retrieves the text pitch - read only -
436  //! \return The text pitch
437  //! \sa Pitch()
438  const Dtk_Double64& Pitch() const;
439 
440 };
441 
442 //! \ingroup draw
443 //! \class Dtk_Oriented2dBBox
444 //! \brief This is the base bounding box class.\n
445 //! It's used into a lot of 2D Entities\n
446 //! This class represents the base bounding box used in the texts entities.\n
447 //! \n The Dtk_Oriented2dBBox uses an anchor point notion. Here the 9 anchor point types:\n\n
448 //! \image html Dtk_Oriented2dBBox.png "Anchor Type Samples"
450 {
451 protected:
457 public:
458  //! \BaseConstructor
460 
461  //! \brief Full featured constructor
462  //! \param inBottomLeft Bottom left point
463  //! \param inXLength X length
464  //! \param inYLenght Y length
465  //! \param inRefAxis Ref axis
466  //! \param inNormalAxis Normal axis
467  Dtk_Oriented2dBBox(const Dtk_pnt &inBottomLeft,
468  const Dtk_Double64 &inXLength,
469  const Dtk_Double64 inYLength,
470  const Dtk_dir &inRefAxis = Dtk_dir(1,0,0),
471  const Dtk_dir &inNormalAxis = Dtk_dir(0,0,1));
472 
473  //! \brief Clear elements
474  inline void Clear()
475  {
476  _BottomLeftPnt = Dtk_pnt( 0.0, 0.0, 0.0 );
477  _XLocalVector = Dtk_dir( 1.0, 0.0, 0.0 );
478  _YLocalVector = Dtk_dir( 0.0, 1.0, 0.0 );
479  _XLength = 0.0;
480  _YLength = 0.0;
481  }
482 
483  //! \brief Processes all the anchor points
484  //! \param outTabPnts the resulting anchor point array
485  //! \return dtkNoError if OK
487  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
488 
489  //! \brief Retrieves the bottom left point - Read Only -
490  //! \return The bottom left point
491  inline Dtk_pnt BottomLeftPoint() const
492  {
493  return _BottomLeftPnt;
494  }
495 
496  //! \brief Retrieves the bottom left point - Read Only -
497  //! \return The bottom left point
498  //! \sa BottomLeftPoint()
500  {
501  return BottomLeftPoint();
502  }
503 
504  //! \brief Retrieves the middle left point - Read Only -
505  //! \return The middle left point
507  {
509  }
510 
511  //! \brief Retrieves the top left point - Read Only -
512  //! \return The top left point
513  inline Dtk_pnt GetTopLeftPoint() const
514  {
516  }
517 
518  //! \brief Retrieves the bottom center point - Read Only -
519  //! \return The bottom center point
521  {
523  }
524 
525  //! \brief Retrieves the middle center point - Read Only -
526  //! \return The middle center point
528  {
530  + 0.5*_XLength*_XLocalVector;
531  }
532 
533  //! \brief Retrieves the top center point - Read Only -
534  //! \return The top center point
535  inline Dtk_pnt GetTopCenterPoint() const
536  {
538  + 0.5*_XLength*_XLocalVector;
539  }
540 
541  //! \brief Retrieves the bottom right point - Read Only -
542  //! \return The bottom right point
544  {
546  }
547 
548  //! \brief Retrieves the middle right point - Read Only -
549  //! \return The middle right point
551  {
554  }
555 
556  //! \brief Retrieves the top right point - Read Only -
557  //! \return The top right point
558  inline Dtk_pnt GetTopRightPoint() const
559  {
561  }
562 
563  //! \brief Retrieves the X length - Read Only -
564  //! \return The X length
565  inline Dtk_Double64 GetXLength() const
566  {
567  return _XLength;
568  }
569 
570  //! \brief Retrieves the Y length - Read Only -
571  //! \return The Y length
572  inline Dtk_Double64 GetYLength() const
573  {
574  return _YLength;
575  }
576 
577  //! \brief Retrieves the X local vector - Read Only -
578  //! \return The X local vector
579  inline Dtk_dir XLocalVector() const
580  {
581  return _XLocalVector;
582  }
583 
584  //! \brief Retrieves the Y local vector - Read Only -
585  //! \return The Y local vector
586  inline Dtk_dir YLocalVector() const
587  {
588  return _YLocalVector;
589  }
590 
591  //! \brief Sets the X local vector
592  //! \param inNewXVector The new X local vector
593  inline void SetXLocalVector(const Dtk_dir& inNewXVector)
594  {
595  _XLocalVector = inNewXVector;
597  }
598 
599  //! \brief Sets the Y local vector
600  //! \param inNewYVector The new Y local vector
601  inline void SetYLocalVector(const Dtk_dir& inNewYVector)
602  {
603  _YLocalVector = inNewYVector;
605  }
606 
607  //! \brief Sets the X and Y local vectors
608  //! \param inNewXVector The new X local vector
609  //! \param inNewYVector The new Y local vector
610  inline void SetLocalVectors(const Dtk_dir& inNewXVector,
611  const Dtk_dir& inNewYVector)
612  {
613  _XLocalVector = inNewXVector;
614  _YLocalVector = inNewYVector;
618  _YLocalVector = TmpZ / _XLocalVector;
619  }
620 
621  //! \brief Test if a point is inside Dtk_Oriented2dBBox class
622  //! \param inPoint The point
623  //! \brief return true if the point is inside Dtk_Oriented2dBBox class
624  Dtk_bool IsInside(const Dtk_pnt &inPoint) const;
625 
626  //! \brief Merges the Dtk_Oriented2dBBox to an additional point
627  //! \param inPoint The inPoint to be merged
628  //! \sa Merge
629  void Merge(const Dtk_pnt &inPoint);
630 
631  //! \brief Merges the Dtk_Oriented2dBBox to another one
632  //! \param inOriented2dBBox The Dtk_Oriented2dBBox to be merged
633  //! \sa Merge
634  void Merge(const Dtk_Oriented2dBBox &inOriented2dBBox);
635 
636  //! \brief Translates the text giving a translation vector
637  //! \param inTranslateDir the translation vector
638  //! \return dtkNoError if OK
639  void Translate(const Dtk_dir &inTranslation);
640 
641  //! \brief Rotates the bounding box
642  //! \param inAngleInRadian The angle in radian
643  //! \return dtkNoError if OK
644  void Rotate(const Dtk_Double64 &inAngleInRadian);
645 
646  //! \brief Applies a transformation matrix to the bounding box
647  //! \param inTransfo The transformation matrix
648  //! \return dtkNoError if OK
649  void Transform(const Dtk_transfo &inTransfo);
650 
651  //! \brief Reverses the bounding box
652  //! X local vector and Y local vector orientation are reversed
653  //! \return dtkNoError if OK
654  void Reverse();
655 
656  //! \brief Extend the bounding box
657  //! \param inXExtend Extend the bounding box horizontally
658  //! \param inYExtend Extend the bounding box vertically
659  //! \return dtkNoError if OK
660  void Extend(const Dtk_Double64 &inXExtend, const Dtk_Double64 &inYExtend);
661 
662  //! \brief Extend the bounding box
663  //! \param inTopExtend Extend the top of the bounding box
664  //! \param inBottomExtend Extend the bottom of the bounding box
665  //! \param inLeftExtend Extend the left of the bounding box
666  //! \param inRightExtend Extend the right of the bounding box
667  //! \return dtkNoError if OK
668  void Extend(const Dtk_Double64 &inTopExtend,
669  const Dtk_Double64 &inBottomExtend,
670  const Dtk_Double64 &inLeftExtend,
671  const Dtk_Double64 &inRightExtend);
672 
673  //! \brief Retrieves the bottom left point
674  //! \return The bottom left point
676  {
677  return _BottomLeftPnt;
678  }
679 
680  //! \brief Retrieves the X local vector
681  //! \return The X local vector
683  {
684  return _XLocalVector;
685  }
686 
687  //! \brief Retrieves the Y local vector
688  //! \return The Y local vector
690  {
691  return _YLocalVector;
692  }
693 
694  //! \brief Retrieves the X length
695  //! \param inNewXlength Extend the new X length of the bounding box
696  //! \return The X length
697  void SetXLength(const Dtk_Double64 &inNewXlength);
698 
699  //! \brief Retrieves the Y length
700  //! \param inNewXlength Extend the new Y length of the bounding box
701  //! \return The Y length
702  void SetYLength(const Dtk_Double64 &inNewXlength);
703 
704  //! \brief Sets the bottom left point
705  //! \param inNewPoint The new bottom left point
706  void SetBottomLeftPoint(const Dtk_pnt &inNewPoint);
707 
708  //! \brief Sets the middle left point
709  //! \param inNewPoint The new middle left point
710  void SetMiddleLeftPoint(const Dtk_pnt &inNewPoint);
711 
712  //! \brief Sets the top left point
713  //! \param inNewPoint The new top left point
714  void SetTopLeftPoint(const Dtk_pnt &inNewPoint);
715 
716  //! \brief Sets the bottom center point
717  //! \param inNewPoint The new bottom center point
718  void SetBottomCenterPoint(const Dtk_pnt &inNewPoint);
719 
720  //! \brief Sets the middle center point
721  //! \param inNewPoint The new middle center point
722  void SetMiddleCenterPoint(const Dtk_pnt &inNewPoint);
723 
724  //! \brief Sets the top center point
725  //! \param inNewPoint The new top center point
726  void SetTopCenterPoint(const Dtk_pnt &inNewPoint);
727 
728  //! \brief Sets the bottom right point
729  //! \param inNewPoint The new bottom right point
730  void SetBottomRightPoint(const Dtk_pnt &inNewPoint);
731 
732  //! \brief Sets the middle right point
733  //! \param inNewPoint The new middle right point
734  void SetMiddleRightPoint(const Dtk_pnt &inNewPoint);
735 
736  //! \brief Sets the top right point
737  //! \param inNewPoint The new top right point
738  void SetTopRightPoint(const Dtk_pnt &inNewPoint);
739 
740  //! \brief Retrieves the point with inAnchorType type
741  //! \param inAnchorType The point anchor type
742  //! \return The point
743  Dtk_pnt GetPoint(const enum Dtk_anchor_type& inAnchorType) const;
744 
745  //! \brief Sets the point with inAnchorType type
746  //! \param inNewPoint The new point
747  //! \param inAnchorType The point anchor type
748  void SetPoint(const Dtk_pnt &inNewPoint,
749  const enum Dtk_anchor_type& inAnchorType);
750 
751  //! \brief Process distance - Read Only -
752  //! \param inReferenceBBox The reference bounding box
753  //! \param outTopOffSet The result top offset
754  //! \param outBottomOffSet The result bottom offset
755  //! \param outRightOffSet The result right offset
756  //! \param outLeftOffSet The result left offset
758  Dtk_Double64& outTopOffSet, Dtk_Double64& outBottomOffSet,
759  Dtk_Double64& outRightOffSet, Dtk_Double64& outLeftOffSet) const;
760 
761  //! \brief Processes intersection points with a line.
762  //! \param inLine : the line to process
763  //! \param outIntersectionPnt1 The 1st intersection point - if exists -
764  //! \param outIntersectionPnt2 The 2nd intersection point - if exists -
765  //! \param outIntersectionParam1 The 1st intersection parameter - if exists -
766  //! \param outIntersectionParam2 The 2nd intersection parameter - if exists -
767  //! \param inTestComplanarity If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box.
768  //! \return 0 If No intersection.
769  //! \return 1 If 1 intersection.
770  //! \return 2 If 2 intersections.
771  //! \return 3 If an infinity of intersections.
772  //! \return -1 if inPntA and inPntB are not on the same plane than the Bounding Box.
773  //! \warning For internal use only
775  const Dtk_LinePtr inLine,
776  Dtk_pnt& outIntersectionPnt1,
777  Dtk_pnt& outIntersectionPnt2,
778  Dtk_Double64& outIntersectionParam1,
779  Dtk_Double64& outIntersectionParam2,
780  const Dtk_bool& inTestComplanarity = DTK_FALSE ) const;
781 
782  //! \brief Processes intersection points with a line giving two points on the line.
783  //! \param inPntA The 1st point of the line
784  //! \param inPntB The 2nd point of the line
785  //! \param outIntersectionPnt1 The 1st intersection point - if exists -
786  //! \param outIntersectionPnt2 The 2nd intersection point - if exists -
787  //! \param inTestComplanarity If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box.
788  //! \return 0 If No intersection.
789  //! \return 1 If 1 intersection.
790  //! \return 2 If 2 intersections.
791  //! \return 3 If an infinity of intersections.
792  //! \return -1 if inPntA and inPntB are not on the same plane than the Bounding Box.
793  //! \warning For internal use only
795  const Dtk_pnt& inPntA,
796  const Dtk_pnt& inPntB,
797  Dtk_pnt& outIntersectionPnt1,
798  Dtk_pnt& outIntersectionPnt2,
799  const Dtk_bool& inTestComplanarity = DTK_FALSE ) const;
800 
801  //! \brief Processes intersection points with a segment giving its ends.
802  //! \param inPntA The 1st end of the segment.
803  //! \param inPntB The 2nd end of the segment.
804  //! \param outIntersectionPnt1 The 1st intersection point - if exists -
805  //! \param outIntersectionPnt2 The 2nd intersection point - if exists -
806  //! \param inTestComplanarity If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box.
807  //! \return 0 If No intersection.
808  //! \return 1 If 1 intersection.
809  //! \return 2 If 2 intersections.
810  //! \return 3 If an infinity of intersections.
811  //! \return -1 if inPntA and inPntB are not on the same plane than the Bounding Box.
812  //! \warning For internal use only
814  const Dtk_pnt& inPntA,
815  const Dtk_pnt& inPntB,
816  Dtk_pnt& outIntersectionPnt1,
817  Dtk_pnt& outIntersectionPnt2,
818  const Dtk_bool& inTestComplanarity = DTK_FALSE ) const;
819 
820  //! \brief Processes intersection points with a segment giving its ends.
821  //! \param inPntA The 1st end of the segment.
822  //! \param inPntB The 2nd end of the segment.
823  //! \param outIntersectionPnts The list of intersection points
824  //! \param inTestComplanarity If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box.
825  //! \return 0 If No intersection.
826  //! \return 1 If 1 intersection.
827  //! \return 2 If 2 intersections.
828  //! \return 3 If an infinity of intersections.
829  //! \return -1 if inPntA and inPntB are not on the same plane than the Bounding Box.
830  //! \warning For internal use only
832  const Dtk_pnt& inPntA,
833  const Dtk_pnt& inPntB,
834  Dtk_tab<Dtk_pnt>& outIntersectionPnts,
835  const Dtk_bool& inTestComplanarity = DTK_FALSE) const;
836 
837  //! \brief Processes intersection points with a circle on the same plane as the boundingbox, giving its center and its radius.
838  //! \param inCenter The center of the circle.
839  //! \param inRadius The radius of the circle.
840  //! \param outIntersectionPnts The tab of intersection points
841  //! \return Number of intersections
842  //! \warning For internal use only
843 
845  const Dtk_pnt& inCenter,
846  const Dtk_Double64& inRadius,
847  Dtk_tab<Dtk_pnt>& outIntersectionPnts) const;
848 };
849 
850 //! \ingroup draw
851 //! \class Dtk_Frame
852 //! \brief This is the frame class.\n
853 //! It's used to gather all frame information.
855 {
856 protected:
859 public:
860 
861  //! \brief Full featured constructor
862  //! \param inFrameType Frame Type.
863  //! \param inRelatedGeometricalElts Geometries representing the frame.
864  Dtk_Frame( const Dtk_frame_type& inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeometricalElts )
865  : _FrameType( inFrameType ), _RelatedGeomElements( std::move( inRelatedGeometricalElts ) ) { }
866 
867  //! \CopyConstructor{in}
868  Dtk_Frame( const Dtk_Frame &in );
869  //! \MoveConstructor{s}
871 
872  //! \BaseConstructor
874 
875  //! \BaseDestructor
876  inline ~Dtk_Frame(){}
877 
878  //! \brief Clear elements
879  inline void Clear()
880  {
882  _RelatedGeomElements.clear();
883  }
884 
885 
886  //! \brief Set Frame informations.
887  //! \param inFrameType Frame Type.
888  //! \param inRelatedGeometricalElts Geometries representing the frame.
889  inline void SetFrameData(
890  const Dtk_frame_type& inFrameType,
891  Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements )
892  {
893  this->_FrameType = inFrameType;
894  this->_RelatedGeomElements = std::move( inRelatedGeomElements );
895  }
896  //! \brief Retrieves the Frame Type - Read Only -
897  //! \return The Frame Type
898  inline const Dtk_frame_type& GetFrameType() const {return _FrameType;}
899 
900  //! \brief Process Related geometries.
901  //! \return Always dtkNoError as success.
903 
904  //! \brief Translates the frame giving a translation vector
905  //! \param inTranslateDir the translation vector
906  //! \return dtkNoError if OK
907  Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir);
908 
909  //! \brief Applies a transformation matrix to the frame
910  //! \param inTransfo The transformation matrix
911  //! \return dtkNoError if OK
913 
914  //! \AssignmentOp{in}
916  //! \MoveOp{in}
918 };
919 class Dtk_CompositeText;
920 
921 //! \ingroup draw
922 //! \class DTK_Text_subtype
923 //! \brief This is the DTK_Text_subtype class.\n
924 //! It's used to provide semantic data about Dtk_Text type.\n
925 //! See the \ref howtodtk_subtypes link to know how to handle it.
927 {
928 private:
929  int p;
930 public:
931  DTK_Text_subtype(int in=0);
932  //! \brief Appends a new subtype
933  void Append(int in);
935  //! \brief Tell if the associated Dtk_text is part of dual group - into \DtkLinkToPtr{Dtk_Dimension} -
936  //! \return DTK_TRUE or DTK_FALSE
937  Dtk_bool IsDual() const;
938  //! \brief Tell if the associated Dtk_text is part of left group - into \DtkLinkToPtr{Dtk_Dimension} -
939  //! \return DTK_TRUE or DTK_FALSE
941  //! \brief Tell if the associated Dtk_text is part of right group - into \DtkLinkToPtr{Dtk_Dimension} -
942  //! \return DTK_TRUE or DTK_FALSE
944  //! \brief Tell if the associated Dtk_text is part of Up group - into \DtkLinkToPtr{Dtk_Dimension} -
945  //! \return DTK_TRUE or DTK_FALSE
947  //! \brief Tell if the associated Dtk_text is part of Down group - into \DtkLinkToPtr{Dtk_Dimension} -
948  //! \return DTK_TRUE or DTK_FALSE
950  //! \brief Tell if the associated Dtk_text is part of Prefix group - into \DtkLinkToPtr{Dtk_Dimension} -
951  //! \return DTK_TRUE or DTK_FALSE
953  //! \brief Tell if the associated Dtk_text is part of Suffix group - into \DtkLinkToPtr{Dtk_Dimension} -
954  //! \return DTK_TRUE or DTK_FALSE
956  //! \brief Tell if the associated Dtk_text is part of Chamfer Sign group - into \DtkLinkToPtr{Dtk_Dimension} -
957  //! \return DTK_TRUE or DTK_FALSE
959  //! \brief Tell if the associated Dtk_text is part of Chamfer Right group - into \DtkLinkToPtr{Dtk_Dimension} -
960  //! \return DTK_TRUE or DTK_FALSE
962  //! \brief Tell if the associated Dtk_text is part of Main Value Part group - into \DtkLinkToPtr{Dtk_Dimension} -
963  //! \return DTK_TRUE or DTK_FALSE
965  //! \brief Tell if the associated Dtk_text is part of Basis group - into \DtkLinkToPtr{Dtk_Dimension} -
966  //! \return DTK_TRUE or DTK_FALSE
968  //! \brief Tell if the associated Dtk_text is part of Pow group - into \DtkLinkToPtr{Dtk_Dimension} -
969  //! \return DTK_TRUE or DTK_FALSE
970  Dtk_bool IsPow() const;
971  //! \brief Tell if the associated Dtk_text is part of Upper Fraction group - into \DtkLinkToPtr{Dtk_Dimension} -
972  //! \return DTK_TRUE or DTK_FALSE
974  //! \brief Tell if the associated Dtk_text is part of Lower Fraction group - into \DtkLinkToPtr{Dtk_Dimension} -
975  //! \return DTK_TRUE or DTK_FALSE
977  //! \brief Tell if the associated Dtk_text is part of Value Split Part 1 - for Degrees/Minutes/Seconds form - group - into \DtkLinkToPtr{Dtk_Dimension} -
978  //! \return DTK_TRUE or DTK_FALSE
980  //! \brief Tell if the associated Dtk_text is part of Value Split Part 2 - for Degrees/Minutes/Seconds form - group - into \DtkLinkToPtr{Dtk_Dimension} -
981  //! \return DTK_TRUE or DTK_FALSE
983  //! \brief Tell if the associated Dtk_text is part of Value Split Part 3 - for Degrees/Minutes/Seconds form - group - into \DtkLinkToPtr{Dtk_Dimension} -
984  //! \return DTK_TRUE or DTK_FALSE
986  //! \brief Tell if the associated Dtk_text is part of Tolerance Block group - into \DtkLinkToPtr{Dtk_Dimension} -
987  //! \return DTK_TRUE or DTK_FALSE
989  //! \brief Tell if the associated Dtk_text is part of Tolerance Value group - into \DtkLinkToPtr{Dtk_Dimension} -
990  //! \return DTK_TRUE or DTK_FALSE
992  //! \brief Tell if the associated Dtk_text is part of Tolerance Upper Value group - into \DtkLinkToPtr{Dtk_Dimension} -
993  //! \return DTK_TRUE or DTK_FALSE
995  //! \brief Tell if the associated Dtk_text is part of Tolerance Lower Value group - into \DtkLinkToPtr{Dtk_Dimension} -
996  //! \return DTK_TRUE or DTK_FALSE
998  //! \brief Tell if the associated Dtk_text is part of Tolerance Symetrical Value group - into \DtkLinkToPtr{Dtk_Dimension} -
999  //! \return DTK_TRUE or DTK_FALSE
1001  //! \brief Tell if the associated Dtk_text is part of Tolerance Sign group - into \DtkLinkToPtr{Dtk_Dimension} -
1002  //! \return DTK_TRUE or DTK_FALSE
1004  //! \brief Tell if the associated Dtk_text is part of Tolerance Prefix group - into \DtkLinkToPtr{Dtk_Dimension} -
1005  //! \return DTK_TRUE or DTK_FALSE
1007  //! \brief Tell if the associated Dtk_text is part of Tolerance Left Parenthesis group - into \DtkLinkToPtr{Dtk_Dimension} -
1008  //! \return DTK_TRUE or DTK_FALSE
1010  //! \brief Tell if the associated Dtk_text is part of Tolerance Right Parenthesis group - into \DtkLinkToPtr{Dtk_Dimension} -
1011  //! \return DTK_TRUE or DTK_FALSE
1013  //! \brief Tell if the associated Dtk_text is an url group - into \DtkLinkToPtr{Dtk_Dimension} -
1014  //! \return DTK_TRUE or DTK_FALSE
1015  Dtk_bool IsUrl() const;
1016  //! \brief Tell if the associated Dtk_text is a fraction bar group - into \DtkLinkToPtr{Dtk_Dimension} -
1017  //! \return DTK_TRUE or DTK_FALSE
1019  //! \brief Tell if the associated Dtk_text is a separator - into \DtkLinkToPtr{Dtk_Dimension} -
1020  //! \return DTK_TRUE or DTK_FALSE
1022  //! \brief Return all subtypes as a Dtk_string.
1023  //! \return The processes Dtk_string.
1024  Dtk_string Dump() const;
1025 };
1026 
1027 
1028 
1029 
1030 //! \ingroup draw
1031 //! \class Dtk_Text
1032 //! \brief This is the base text class. It's part of Dtk_CompositeText.\n
1033 //! This class represents the texts and values used in the annotations entities (Dtk_Annotation and Dtk_Dimension). \n
1034 //! You can learn how to browse their semantic data following this page : \ref howtodtk_subtypes \n
1035 //! It also contains an inner Dtk_Oriented2dBBox and a outer Dtk_Oriented2dBBox that allows you to place the text in 2D space.\n
1036 //! The Dtk_Text uses a lot of informations. The most important ones, coming from its Dtk_Oriented2dBBox, are shown in the picture below:\n
1037 //! \image html Dtk_Text.png Dtk_Text Most Important Information : inner and outer Dtk_Oriented2dBBox
1038 //! \n The Dtk_Text also uses an anchor point notion ( Dtk_anchor_type ). Here are the 9 anchor point types:\n\n
1039 //! \image html AnchorTypes.png Anchor Type Samples
1041 {
1042 public:
1047  };
1048 
1049 protected:
1050  struct Dtk_Handle; // Not defined here
1051  std::unique_ptr<Dtk_Handle> _Private; // Handle
1052 
1053 public:
1054  //! \BaseDestructor
1056  //! \BaseConstructor
1058  //! \CopyConstructor{s}
1059  Dtk_Text( const Dtk_Text & s );
1060  //! \MoveConstructor{s}
1062  //! \AssignmentOp{in}
1063  Dtk_Text& operator=( const Dtk_Text& in );
1064  //! \MoveOp{in}
1066  //! \brief Full featured constructor
1067  //! \param inTextString The text string
1068  //! \param inInnerBox The inner bounding box
1069  //! \param inOuterBox The outer bounding box
1070  //! \param inAnchorType The anchor type
1071  //! \param inTextType The text type
1072  //! \param inHorizontalVerticalType The horizontal/vertical text orientation
1073  //! \param inInfos The text infos
1074  //! \param inTextStyle The text style
1075  //! \param inSlant The text slant - PI / 2.0 for normal text -
1076  //! \param inFontIndex The font index
1077  //! \param inMirroringType The mirroring type
1078  Dtk_Text(Dtk_string inTextString,
1079  const Dtk_Oriented2dBBox &inInnerBox,
1080  const Dtk_Oriented2dBBox &inOuterBox,
1081  const Dtk_anchor_type &inAnchorType,
1082  const DTK_Text_type &inTextType,
1083  const Dtk_Int32 &inHorizontalVerticalType,
1084  const Dtk_InfoPtr &inInfos,
1085  const Dtk_TextStyle &inTextStyle,
1086  const Dtk_Double64 &inSlant,
1087  const Dtk_Int32 &inFontIndex,
1088  const Dtk_Int32 &inMirroringType);
1089 
1090  //! \brief Constructor
1091  //! \param inTextString The text string
1092  //! \param inInnerBox The inner bounding box
1093  //! \param inOuterBox The outer bounding box
1094  //! \param inSlant The text slant - PI / 2.0 for normal text -
1095  //! \param inHorizontalVerticalType The horizontal/vertical text orientation
1096  //! \param inTextType The text type
1097  //! \param inInfos The text infos
1098  //! \param inTextStyle The text style
1099  Dtk_Text( Dtk_string inTextString,
1100  const Dtk_Oriented2dBBox &inInnerBox,
1101  const Dtk_Oriented2dBBox &inOuterBox,
1102  const Dtk_Double64 &inSlant,
1103  const Dtk_bool &inHorizontalVerticalType,
1104  const DTK_Text_type &inTextType, const Dtk_InfoPtr &inInfos,
1105  const Dtk_TextStyle &inTextStyle);
1106 
1107  //! \brief Tells if the Dtk_Text is empty or not - read only -
1108  //! \return DTK_TRUE if the Dtk_text is empty or DTK_FALSE else.
1109  //! \remark This method internally checks the string of the Dtk_text.
1110  //! If the string length is == 0 so the Dtk_text is empty.
1112 
1113  //! \brief Set the text frame information - get/set -
1114  //! \return The text frame type
1115  //! \sa FrameType() const
1116  void SetFrameType( const Dtk_frame_type& inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements);
1117 
1118  //! \brief Retrieves the Frame - read only -
1119  //! \param outFrame The frame
1120  //! \sa FrameType() const
1121  void GetFrame(Dtk_Frame& outFrame) const;
1122 
1123  //! \brief Retrieves the text frame type - read only -
1124  //! \return The text frame type
1125  //! \sa FrameType()
1127 
1128  //! \brief Retrieves the text type - get/set -
1129  //! \return The text type
1130  //! \sa TextType() const
1132 
1133  //! \brief Retrieves the text type - read only -
1134  //! \return The text type
1135  //! \sa TextType()
1136  const DTK_Text_type& TextType() const;
1137 
1138  //! \brief Retrieves the text subtype - get/set -
1139  //! \return The text subtype
1140  //! \sa TextType() const
1142 
1143  //! \brief Retrieves the text subtype - read only -
1144  //! \return The text subtype
1145  //! \sa TextType()
1147 
1148 
1149  //! \brief Retrieves the inner bounding box XAxis - read only -
1150  //! \return The inner bounding box XAxis
1151  //! \sa InnerXAxis()
1152  const Dtk_dir& InnerXAxis() const;
1153 
1154  //! \brief Retrieves the outer bounding box XAxis - read only -
1155  //! \return The outer bounding box XAxis
1156  //! \sa OuterXAxis()
1157  const Dtk_dir& OuterXAxis() const;
1158 
1159  //! \brief Retrieves the inner bounding box XAxis - get/set -
1160  //! \return The inner bounding box XAxis
1161  //! \sa InnerXAxis() const
1163 
1164  //! \brief Retrieves the outer bounding box XAxis - get/set -
1165  //! \return The outer bounding box XAxis
1166  //! \sa OuterXAxis() const
1168 
1169  //! \brief Retrieves the inner bounding box YAxis - read only -
1170  //! \return The inner bounding box YAxis
1171  //! \sa InnerYAxis()
1172  const Dtk_dir& InnerYAxis() const;
1173 
1174  //! \brief Retrieves the outer bounding box YAxis - read only -
1175  //! \return The outer bounding box YAxis
1176  //! \sa OuterYAxis()
1177  const Dtk_dir& OuterYAxis() const;
1178 
1179  //! \brief Retrieves the inner bounding box YAxis - get/set -
1180  //! \return The inner bounding box YAxis
1181  //! \sa InnerYAxis() const
1183 
1184  //! \brief Retrieves the outer bounding box YAxis - get/set -
1185  //! \return The outer bounding box YAxis
1186  //! \sa OuterYAxis() const
1188 
1189  //! \brief Retrieves the inner bounding box location - read only -
1190  //! \return The inner bounding box location
1191  //! \sa InnerLocation()
1192  const Dtk_pnt& InnerLocation() const;
1193 
1194  //! \brief Retrieves the outer bounding box location - read only -
1195  //! \return The outer bounding box location
1196  //! \sa OuterLocation()
1197  const Dtk_pnt& OuterLocation() const;
1198 
1199  //! \brief Retrieves the inner bounding box location - get/set -
1200  //! \return The inner bounding box location
1201  //! \sa InnerLocation() const
1203 
1204  //! \brief Retrieves the outer bounding box location - get/set -
1205  //! \return The outer bounding box location
1206  //! \sa OuterLocation() const
1208 
1209  //! \brief Retrieves the text string - get/set -
1210  //! \return The text string
1211  //! \sa Text() const
1213 
1214  //! \brief Retrieves the text string - read only -
1215  //! \return The text string
1216  //! \sa Text()
1217  const Dtk_string& Text() const;
1218 
1219  //! \brief Retrieves the text text style - get/set -
1220  //! \return The text text style
1221  //! \sa TextStyle() const
1223 
1224  //! \brief Retrieves the text text style - read only -
1225  //! \return The text text style
1226  //! \sa TextStyle()
1227  const Dtk_TextStyle& TextStyle() const;
1228 
1229  //! \brief Retrieves the text vertically oriented Status - read only -
1230  //! \return The text vertically oriented status - DTK_TRUE for vertically oriented text -
1231  //! \sa VerticallyOrientedStatus()
1233 
1234  //! \brief Sets the text vertically oriented status
1235  //! \return The text vertically oriented status - DTK_TRUE for vertically oriented text -
1236  //! \sa VerticallyOrientedStatus() const
1238  const Dtk_bool &inVerticallyOrientedStatus);
1239 
1240  //! \brief Retrieves the text anchor type - get/set -
1241  //! \return The text anchor type
1242  //! \sa AnchorType() const
1244 
1245  //! \brief Retrieves the text anchor type - read only -
1246  //! \return The text anchor type
1247  //! \sa AnchorType()
1248  const Dtk_anchor_type& AnchorType() const;
1249 
1250  //! \brief Retrieves the text infos - read only -
1251  //! \return The text infos
1252  const Dtk_InfoPtr& GetInfo() const;
1253 
1254  //! \brief Retrieves the text infos
1255  //! \return The text infos
1257 
1258  //! \brief Sets the inner bounding box rotation angle giving a reference base
1259  //! \param inRotationAngle The rotation angle to be set
1260  //! \param inXAxis The reference X Axis - default value = (1,0,0)
1261  //! \param inYAxis The reference Y Axis - default value = (0,1,0)
1262  //! \return dtkNoError if OK
1263  //! \sa GetRotationAngle
1265  const Dtk_dir &inXAxis = Dtk_dir(1,0,0),
1266  const Dtk_dir &inYAxis = Dtk_dir(0,1,0));
1267 
1268  //! \brief Sets the outer bounding box rotation angle giving a reference base
1269  //! \param inRotationAngle The rotation angle to be set
1270  //! \param inXAxis The reference X Axis - default value = (1,0,0)
1271  //! \param inYAxis The reference Y Axis - default value = (0,1,0)
1272  //! \return dtkNoError if OK
1273  //! \sa GetRotationAngle
1275  const Dtk_dir &inXAxis = Dtk_dir(1,0,0),
1276  const Dtk_dir &inYAxis = Dtk_dir(0,1,0));
1277 
1278  //! \brief Gets the inner bounding box rotation angle giving a reference base
1279  //! \param inXAxis The reference X Axis - default value = (1,0,0)
1280  //! \param inYAxis The reference Y Axis - default value = (0,1,0)
1281  //! \return The rotation angle
1282  //! \sa SetRotationAngle
1284  const Dtk_dir &inYAxis = Dtk_dir(0,1,0));
1285 
1286  //! \brief Gets the outer bounding box rotation angle giving a reference base
1287  //! \param inXAxis The reference X Axis - default value = (1,0,0)
1288  //! \param inYAxis The reference Y Axis - default value = (0,1,0)
1289  //! \return The rotation angle
1290  //! \sa SetRotationAngle
1292  const Dtk_dir &inYAxis = Dtk_dir(0,1,0));
1293 
1294  //! \brief Translates the inner bounding box giving a translation vector
1295  //! \param inTranslateDir the translation vector
1296  //! \return dtkNoError if OK
1297  Dtk_ErrorStatus InnerTranslate(const Dtk_dir &inTranslateDir);
1298 
1299  //! \brief Translates the outer bounding box giving a translation vector
1300  //! \param inTranslateDir the translation vector
1301  //! \return dtkNoError if OK
1302  Dtk_ErrorStatus OuterTranslate(const Dtk_dir &inTranslateDir);
1303 
1304  //! \brief Translates the text giving a translation vector
1305  //! \param inTranslateDir the translation vector
1306  //! \return dtkNoError if OK
1307  Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir);
1308 
1309  //! \brief Applies a transformation matrix to the text
1310  //! \param inTransfo The transformation matrix
1311  //! \return dtkNoError if OK
1313 
1314  //! \brief Reverses the text
1315  //! The text anchor type is replaced by the opposed one
1316  //! and the text orientation is reversed.
1317  //! \return dtkNoError if OK
1319 
1320  //! \brief Sets the inner bounding box orientation
1321  //! \param inXAxis The new inner bounding box X Axis
1322  //! \param inYAxis The new inner bounding box Y Axis
1323  //! \sa GetInnerXYAxis
1324  void SetInnerXYAxis(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
1325 
1326  //! \brief Sets the outer bounding box orientation
1327  //! \param inXAxis The new outer bounding box X Axis
1328  //! \param inYAxis The new outer bounding box Y Axis
1329  //! \sa GetOuterXYAxis
1330  void SetOuterXYAxis(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
1331 
1332  //! \brief Gets the inner bounding box orientation
1333  //! \param outXAxis The inner bounding box X Axis
1334  //! \param outYAxis The inner bounding box Y Axis
1335  //! \sa SetInnerXYAxis
1336  void GetInnerXYAxis(Dtk_dir &outXAxis, Dtk_dir &outYAxis) const;
1337 
1338  //! \brief Gets the outer bounding box orientation
1339  //! \param outXAxis The outer bounding box X Axis
1340  //! \param outYAxis The outer bounding box Y Axis
1341  //! \sa SetOuterXYAxis
1342  void GetOuterXYAxis(Dtk_dir &outXAxis, Dtk_dir &outYAxis) const;
1343 
1344  //! \brief Sets the inner bounding box X length
1345  //! \param inXLength The new inner bounding box X length
1346  //! \sa GetInnerBoundingBox
1347  void SetInnerXLength(const Dtk_Double64 &inXLength);
1348 
1349  //! \brief Sets the inner bounding box Y length
1350  //! \param inXLength The new inner bounding box Y length
1351  //! \sa GetInnerBoundingBox
1352  void SetInnerYLength(const Dtk_Double64 &inYLength);
1353 
1354  //! \brief Sets the outer bounding box X length
1355  //! \param inXLength The new outer bounding box X length
1356  //! \sa GetOuterBoundingBox
1357  void SetOuterXLength(const Dtk_Double64 &inXLength);
1358 
1359  //! \brief Sets the outer bounding box Y length
1360  //! \param inXLength The new outer bounding box Y length
1361  //! \sa GetOuterBoundingBox
1362  void SetOuterYLength(const Dtk_Double64 &inYLength);
1363 
1364  //! \brief Processes the mirroring type giving the reference Z Axis.
1365  //! \param inZAxis the reference Z Axis
1366  //! \return The mirroring type
1368  const Dtk_dir &inZAxis = Dtk_dir(0,0,1)) const;
1369 
1370  //! \brief Processes the inner bounding box rotation angle giving the reference Z Axis.
1371  //! \param inZAxis the reference Z Axis
1372  //! \return The rotation angle
1374  const Dtk_dir &inZAxis = Dtk_dir(0,0,1)) const;
1375 
1376  //! \brief Processes the line feed number.
1377  //! \return The line feed number
1379 
1380  //! \brief Processes the bottom-left inner anchor point.
1381  //! \return The bottom-left inner anchor point
1383 
1384  //! \brief Processes the inner bounding box.
1385  //! \return The inner bounding box
1388 
1389  //! \brief Processes the outer bounding box.
1390  //! \return The outer bounding box
1393 
1394  //! \brief Sets the inner bounding box.
1396 
1397  //! \brief Sets the outer bounding box.
1399 
1400  //! \deprecated Use SetInnerBoundingBox() const function instead.
1401  //! \brief Set the text inner anchor point
1402  //! \param inNewOrigin the new location point
1403  //! \param inLocationAnchorType the new location anchor type
1404  //! \return dtkNoError if OK
1405  //SetAsDeprecated("Undefined", "Use SetInnerBoundingBox")
1407  const Dtk_anchor_type& inLocationAnchorType);
1409  const Dtk_anchor_type location_anchor_type);
1410 
1411  //! \brief Set the text outer anchor point
1412  //! \param inNewOrigin the new location point
1413  //! \param inLocationAnchorType the new location anchor type
1414  //! \return dtkNoError if OK
1416  const Dtk_anchor_type& inLocationAnchorType);
1418  const Dtk_anchor_type location_anchor_type);
1419 
1420  //! \brief Creates geometries corresponding to the text frame type
1421  //! \param outGeoms the resulting geometries
1422  //! \return dtkNoError if OK
1424  Dtk_tab<Dtk_CurvePtr> &outGeoms) const;
1425 
1426  //! \brief Explodes the Dtk_Text to other Dtk_Text according the IGES font number
1427  //! \param outNumFontArray Font numbers array - size = outNumTexts -
1428  //! \param outNumTexts Number of resulting texts
1429  //! \return the Exploded resulting Dtk_Text array - size = outNumTexts -.
1430  Dtk_Text *ExplodeText(Dtk_Int32 **outNumFontArray,
1431  Dtk_Int32 &outNumTexts) const;
1432 
1434 };
1435 
1436 //! \ingroup draw
1437 //! \class Dtk_CompositeText
1438 //! \brief This is the composite text class.\n
1439 //! It's basically a Dtk_Text Container.\n
1440 //! This class represents a group of several base_texts.\n
1441 //! It contains an inner Dtk_Oriented2dBBox and a outer Dtk_Oriented2dBBox.\n
1442 //! The Dtk_CompositeText uses a lot of informations. The most important ones are shown in the picture below:\n
1443 //! \image html Dtk_CompositeText.png Dtk_CompositeText Most Important Informations
1445 {
1446  struct Dtk_Handle; // Not defined here
1447  std::unique_ptr<Dtk_Handle> _Private; // Handle
1448 
1449 public:
1450  //! \BaseDestructor
1452 
1453  //! \BaseConstructor
1455 
1456  //! \CopyConstructor{t}
1458 
1459  //! \MoveConstructor{t}
1461 
1462  //! \brief Pre allocator constructor
1463  //! \param inNumTexts Number of text to be reserved
1464  Dtk_CompositeText(const Dtk_Size_t& inNumTexts);
1465 
1466  //! \brief Constructor from one Dtk_Text
1467  //! \param inText Dtk_Text to be included into
1469 
1470  //! \brief Constructor from several Dtk_Text
1471  //! \param inTexts Dtk_Text to be included into
1473 
1474  //! \AssignmentOp{in}
1476  //! \MoveOp{in}
1478 
1479  void Clear();
1480 
1481  //! \brief Access operator - get/set -
1482  //! \param inPos The position of the element to be retrieved
1483  //! \return the inPos'th Dtk_Text
1485 
1486  //! \brief Access operator - read only -
1487  //! \param inPos The position of the element to be retrieved
1488  //! \return the inPos'th Dtk_Text
1489  const Dtk_Text& operator[](Dtk_Size_t inPos) const;
1490 
1491  //! \brief Retrieves the texts number
1492  //! \return the texts number
1494 
1495  //! \brief Add all the Dtk_Text from the two Dtk_CompositeText
1496  //! \param s1 the first composite text
1497  //! \param s2 the second composite text
1498  //! \return the resulting Dtk_CompositeText
1501 
1502  //! \brief Merges the Dtk_CompositeText to another one
1503  //! \param s2 The first Dtk_CompositeText to merge to this
1505 
1506  //! \deprecated Use GetOuterBoundingBox() const function instead.
1507  //! \brief Processes all the Dtk_CompositeText outer anchor points
1508  //! \param outTabPnts the resulting anchor point array
1509  //! \return dtkNoError if OK
1510  SetAsDeprecated("Undefined", "Use GetOuterBoundingBox")
1511  Dtk_ErrorStatus GetOuterAnchorPoints(
1512  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
1513 
1514  //! \brief Processes the inner bounding box.
1515  //! \return The inner bounding box
1517 
1518  //! \brief Processes the outer bounding box.
1519  //! \param inIncludeInvisible : If DTK_TRUE - default value - invisible texts are processed . Else They are not.
1520  //! \return The outer bounding box
1521  const Dtk_Oriented2dBBox GetOuterBoundingBox( Dtk_bool inIncludeInvisible = DTK_TRUE ) const;
1522 
1523  //! \brief Processes the inner bounding box.
1524  //! \param outError Return dtkNoError if OK
1525  //! \return The inner bounding box
1527  const;
1528 
1529  //! \brief Processes the outer bounding box.
1530  //! \param outError Return dtkNoError if OK
1531  //! \param inIncludeInvisible : If DTK_TRUE - default value - invisible texts are processed . Else They are not.
1532  //! \return The outer bounding box
1534  Dtk_bool inIncludeInvisible = DTK_TRUE )
1535  const;
1536 
1537  //! \brief Retrieves the wrapping width
1538  //! \return The wrapping width
1540 
1541  //! \brief Sets the wrapping width
1542  //! \param inWrappingWidth The new wrapping width
1543  void SetWrappingWidth(const Dtk_Double64 &inWrappingWidth);
1544 
1545  //! \brief Set the Dtk_CompositeText inner anchor point
1546  //! \param inNewLocationPnt The new anchor point
1547  //! \param inNewAnchorType The new anchor type
1548  //! \param inStartingGetText The starting text - -1 to process from the 1st text - for the old anchor points process
1549  //! \param inNumGetTexts The number of processed texts - -1 to process all texts from starting text - for the old anchor points process
1550  //! \param inStartingSetText The starting text - -1 to process from the 1st text - for the new anchor points process
1551  //! \param inNumSetTexts The number of processed texts - -1 to process all texts from starting text - for the new anchor points process
1552  //! \return dtkNoError if OK
1554  const Dtk_anchor_type &inNewAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
1555  const Dtk_Int32 &inStartingGetText = -1,
1556  const Dtk_Int32 &inNumGetTexts = -1,
1557  const Dtk_Int32 &inStartingSetText = -1,
1558  const Dtk_Int32 &inNumSetTexts = -1);
1559 
1560  //! \brief Set the Dtk_CompositeText outer anchor point
1561  //! \param inNewLocationPnt The new anchor point
1562  //! \param inNewAnchorType The new anchor type
1563  //! \param inStartingGetText The starting text - -1 to process from the 1st text - for the old anchor points process
1564  //! \param inNumGetTexts The number of processed texts - -1 to process all texts from starting text - for the old anchor points process
1565  //! \param inStartingSetText The starting text - -1 to process from the 1st text - for the new anchor points process
1566  //! \param inNumSetTexts The number of processed texts - -1 to process all texts from starting text - for the new anchor points process
1567  //! \param inOffSet For internal use only
1568  //! \param inBoundingType The bounding type
1569  //! \return dtkNoError if OK
1571  const Dtk_anchor_type &inNewAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
1572  const Dtk_Int32 &inStartingGetText = -1,
1573  const Dtk_Int32 &inNumGetTexts = -1,
1574  const Dtk_Int32 &inStartingSetText = -1,
1575  const Dtk_Int32 &inNumSetTexts = -1);
1576 
1578  Dtk_tab<Dtk_CurvePtr> &outGeoms) const;
1579 
1580  //! \brief Sets the inner bounding box X Axis for the Dtk_CompositeText and included Dtk_Texts
1581  //! \param inXAxis The new inner bounding box X Axis
1582  //! \return dtkNoError if OK
1584 
1585  //! \brief Sets the outer bounding box X Axis for the Dtk_CompositeText and included Dtk_Texts
1586  //! \param inXAxis The new outer bounding box X Axis
1587  //! \return dtkNoError if OK
1589 
1590  //! \brief Sets the inner bounding box Y Axis for the Dtk_CompositeText and included Dtk_Texts
1591  //! \param inYAxis The new inner bounding box Y Axis
1592  //! \return dtkNoError if OK
1594 
1595  //! \brief Sets the outer bounding box Y Axis for the Dtk_CompositeText and included Dtk_Texts
1596  //! \param inYAxis The new outer bounding box Y Axis
1597  //! \return dtkNoError if OK
1599 
1600  //! \brief Sets the inner bounding box X and Y axes for the Dtk_CompositeText and included Dtk_Texts
1601  //! \param inXAxis The new inner bounding box X Axis
1602  //! \param inYAxis The new inner bounding box Y Axis
1603  //! \return dtkNoError if OK
1605  const Dtk_dir &inYaxis);
1606 
1607  //! \brief Sets the outer bounding box X and Y axes for the Dtk_CompositeText and included Dtk_Texts
1608  //! \param inXAxis The new outer bounding box X Axis
1609  //! \param inYAxis The new outer bounding box Y Axis
1610  //! \return dtkNoError if OK
1612  const Dtk_dir &inYaxis);
1613 
1614  //! \brief Retrieves the infos
1615  //! \return The infos
1616  const Dtk_InfoPtr& GetInfo() const;
1617 
1618  //! \brief Retrieves the infos
1619  //! \return The infos
1621 
1622  //! \brief Reverses the Dtk_CompositeText and included Dtk_Texts
1623  //! \sa Dtk_Text::Reverse
1624  //! \return dtkNoError if OK
1626 
1627  //! \brief Adds a Dtk_Text to the Dtk_CompositeText
1628  //! \param inText The Dtk_Text to be added
1629  void AddText( Dtk_Text inText);
1630 
1631  //! \brief Replaces all the included Dtk_Texts by the given ones
1632  //! \param inTexts The Dtk_Texts to add
1633  void ReplaceTexts(const Dtk_tab<Dtk_Text> &inTexts);
1634 
1635  //! \brief Merges the Dtk_CompositeText to Dtk_string
1636  //! \return The merged Dtk_string
1638 
1639  //! \brief Applies a transformation matrix to the Dtk_CompositeText and included Dtk_Texts
1640  //! \param inTransfo The transformation matrix to apply
1642 
1643  //! \brief Translates the Dtk_CompositeText giving a translation vector
1644  //! \param inTranslateDir the translation vector
1645  //! \return dtkNoError if OK
1646  Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir);
1647 };
1648 
1649 //! \ingroup draw
1650 //! \class Dtk_2dEntity
1651 //! \brief This is the abstract Dtk_2dEntity class.\n
1652 //! Gathers Dtk_Annotation and Dtk_Dimension.
1653 //! \SmartPtr{Dtk_2dEntityPtr}
1654 class Dtk_2dEntity : public Dtk_Entity
1655 {
1656 protected:
1657  struct Dtk_Handle; // Not defined here
1658  std::unique_ptr<Dtk_Handle> _Private; // Handle
1659  enum {
1660  _typeID = DTK_TYPE_2D_ENTITY
1661  };
1662  //! \BaseDestructor
1663  virtual ~Dtk_2dEntity();
1664 
1665  //! \BaseConstructor
1667 
1670  virtual Dtk_Object* Clone() = 0;
1671 
1672 protected:
1673  friend class Dtk_SmartPtr<Dtk_2dEntity>;
1674 public:
1675 
1676  //! \DtkDynamicType
1677  Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId);
1678 
1679  //! \DtkDynamicCast
1680  static Dtk_2dEntity* DtkDynamicCast(Dtk_Object *s);
1681 
1682  virtual type_detk get_type_detk() const = 0;
1683 
1684  //! \AssignmentOp{in}
1685  Dtk_2dEntity& operator=(const Dtk_2dEntity & in);
1686  //! \MoveOp{in}
1688 
1689  //! \Transform{inTransfo}
1690  virtual Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)=0;
1691 
1692  //! \brief Adds an additionnal geometry to the Dtk_2dEntity
1693  //! \param inAdditionnalGeometry The geometry to be added
1694  void AddAdditionnalGeometry( const Dtk_EntityPtr& inAdditionnalGeometry);
1695 
1696  //! \brief Adds some additionnal geometries to the Dtk_2dEntity
1697  //! \param inAdditionnalGeometries The geometries to be added
1698  void AddAdditionnalGeometries(const Dtk_tab<Dtk_EntityPtr>& inAdditionnalGeometries);
1699 
1700  //! \brief Adds some additionnal texts to the Dtk_2dEntity
1701  //! \param inAddtionnalTexts The texts to be added
1702  void AddAdditionnalTexts( Dtk_CompositeText inAddtionnalTexts);
1703 
1704  //! \brief Retrieves the additionnal geometries of the Dtk_2dEntity
1705  //! \return The additionnal geometries array - read only -.
1706  const Dtk_tab< Dtk_EntityPtr >& GetAdditionnalGeometries() const;
1707 
1708  //! \brief Retrieves the additionnal texts of the Dtk_2dEntity
1709  //! \return The additionnal texts - read only -.
1710  const Dtk_CompositeText& GetAdditionnalTexts() const;
1711 };
1712 
1713 //! \ingroup draw
1714 //! \class Dtk_Leader
1715 //! \brief This class graphically represents leader of annotations.\n It is part of Dtk_Annotation and Dtk_Dimension.
1716 //! \details Its main curve (also called LeaderCurve), is represented using a Dtk_Polyline. The following schema indicated the points order to expect.
1717 //! \image html PolylineLeader.png
1718 //! 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.
1719 //! \image html LeaderTeminator.png width=800cm
1720 //! In Datakit representation, a leader can also have an extension line, that usually points from the annotation to the model geometry.
1721 //! \image html Dtk_LeaderExtensionLine.png
1722 //! 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.
1723 //! \warning To represent a stand-alone extension line, it is possible to encounter a leader with an extension line, and no main curve.
1724 //! \SmartPtr{Dtk_LeaderPtr}
1726 {
1727 public:
1728 
1729  //! \class ApplicationZone
1730  //! \brief This is the application zone class.\n
1731  //! It is used to gather all application zone information.
1733  {
1734  public:
1736  {
1737  Default = 0,
1738  AllAround = 1,
1739  AllOver = 2,
1740  };
1742  {
1743  switch( inEnum )
1744  {
1745  default:
1746  case Default: return L"Default";
1747  case AllAround: return L"AllAround";
1748  case AllOver: return L"AllOver";
1749  }
1750  }
1751  protected:
1754  public:
1755 
1756  //! \brief Full featured constructor
1757  //! \param inApplicationZoneType ApplicationZone Type.
1758  //! \param inRelatedGeometricalElts Geometries representing the frame.
1759  ApplicationZone(const ApplicationZoneEnum& inApplicationZoneType,
1760  const Dtk_tab< Dtk_CurvePtr >& inRelatedGeometricalElts);
1761 
1762  //! \BaseConstructor
1763  inline ApplicationZone() : _ApplicationZoneType( Default ) {}
1764  ApplicationZone( const ApplicationZone& in ) : _ApplicationZoneType( in._ApplicationZoneType )
1765  {
1766  _RelatedGeomElements.reserve( in._RelatedGeomElements.size() );
1767  for( Dtk_Size_t i = 0; i < in._RelatedGeomElements.size(); i++ )
1768  {
1769  Dtk_CurvePtr tmp;
1770  in._RelatedGeomElements[ i ].Clone( tmp );
1771  _RelatedGeomElements.push_back( tmp );
1772  }
1773  };
1775 
1776  //! \BaseDestructor
1777  inline ~ApplicationZone(){}
1778 
1779  //! \brief Clear elements
1780  inline void Clear()
1781  {
1782  _ApplicationZoneType = Default;
1783  _RelatedGeomElements.clear();
1784  }
1785 
1786  //! \brief Set ApplicationZone informations.
1787  //! \param inApplicationZoneType The ApplicationZone Type.
1788  //! \param inRelatedGeometricalElts Geometries representing the Application Zone Symbol.
1789  inline void SetApplicationData(
1790  const ApplicationZoneEnum& inApplicationZoneType,
1791  Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements )
1792  {
1793  this->_ApplicationZoneType = inApplicationZoneType;
1794  this->_RelatedGeomElements = std::move( inRelatedGeomElements );
1795  }
1796  //! \brief Retrieves the ApplicationZone Type - Read Only -
1797  //! \return The ApplicationZone Type.
1798  inline ApplicationZoneEnum GetApplicationZoneType() const {return _ApplicationZoneType;}
1799 
1800  //! \brief Process Related geometries.
1801  inline void GetGeometries(Dtk_tab< Dtk_CurvePtr >& outGeoms) const
1802  {
1803  Dtk_Size_t i,nb = this->_RelatedGeomElements.size();
1804  outGeoms.resize(nb);
1805  for(i=0;i<nb;i++)
1806  this->_RelatedGeomElements[i].Clone(outGeoms[i]);
1807  }
1808 
1809  //! \brief Translates the ApplicationZone giving a translation vector
1810  //! \param inTranslateDir the translation vector
1811  //! \return dtkNoError if OK
1812  inline Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
1813  {
1814  Dtk_transfo TmpMatrix;
1815  TmpMatrix.addTranslate( inTranslateDir );
1816  return Transform( TmpMatrix );
1817  }
1818  //! \brief Applies a transformation matrix to the ApplicationZone
1819  //! \param inTransfo The transformation matrix
1820  //! \return dtkNoError if OK
1821  inline Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
1822  {
1823  if( inTransfo == Dtk_transfo() )
1824  return dtkNoError;
1825  Dtk_Size_t i, NumGeoms = _RelatedGeomElements.size();
1826  for (i = 0; i < NumGeoms; i++)
1827  { _RelatedGeomElements[i]->Transform( inTransfo ); }
1828  return dtkNoError;
1829  }
1830  //! \AssignmentOp{in}
1832  {
1833  if (&in == this)
1834  {
1835  return *this;
1836  }
1837  _ApplicationZoneType = in._ApplicationZoneType;
1838  _RelatedGeomElements.reserve( in._RelatedGeomElements.size() );
1839  for (Dtk_Size_t i = 0; i < in._RelatedGeomElements.size(); i++)
1840  {
1841  Dtk_CurvePtr tmp;
1842  in._RelatedGeomElements[i].Clone(tmp);
1843  _RelatedGeomElements.push_back(tmp);
1844  }
1845  return *this;
1846  }
1847  //! \MoveOp{in}
1849  };
1850 
1851  //! \brief Internal leader terminator type
1853  //! \image html TerminatorTypeNone.png
1854  TerminatorTypeNone = 0,
1855  //! \image html TerminatorTypeOpenArrow.png
1857  //! \image html TerminatorTypeClosedArrow.png
1859  //! \image html TerminatorTypeFillArrow.png
1861  //! \image html TerminatorTypeCrossArrow.png
1863  //! \image html TerminatorTypeCircle.png
1865  //! \image html TerminatorTypeFilledCircle.png
1867  //! \image html TerminatorTypeSquare.png
1869  //! \image html TerminatorTypeFilledSquare.png
1871  //! \image html TerminatorTypeSlash.png
1873  //! \image html TerminatorTypeCrossedCircle.png
1875  //! \image html TerminatorTypeXCircle.png
1877  //! \image html TerminatorTypeTriangle.png
1879  //! \image html TerminatorTypeFilledTriangle.png
1881  //! \image html TerminatorTypePlus.png
1883  //! \image html TerminatorTypeXCross.png
1885  //! \image html TerminatorTypeIntegral.png
1887  //! \image html TerminatorTypeCircleCenter.png
1889  //! \image html TerminatorTypeDoubleOpenArrow.png
1891  //! \image html TerminatorTypeDoubleCloseArrow.png
1893  //! \image html TerminatorTypeDoubleFillArrow.png
1895  //! \image html TerminatorTypeDoubleTriangle.png
1897  //! \image html TerminatorTypeTopOpenArrow.png
1899  //! \image html TerminatorTypeBottomOpenArrow.png
1901  //! \image html TerminatorTypeTopFillArrow.png
1903  //! \image html TerminatorTypeBottomFillArrow.png
1905  //! \image html TerminatorTypeDoubleCrossArrow.png
1907 
1908  };
1910  {
1911  switch( inEnum )
1912  {
1913  case TerminatorTypeNone: return L"TerminatorTypeNone";
1914  case TerminatorTypeOpenArrow: return L"TerminatorTypeOpenArrow";
1915  case TerminatorTypeClosedArrow: return L"TerminatorTypeClosedArrow";
1916  case TerminatorTypeFillArrow: return L"TerminatorTypeFillArrow";
1917  case TerminatorTypeCrossArrow: return L"TerminatorTypeCrossArrow";
1918  case TerminatorTypeCircle: return L"TerminatorTypeCircle";
1919  case TerminatorTypeFilledCircle: return L"TerminatorTypeFilledCircle";
1920  case TerminatorTypeSquare: return L"TerminatorTypeSquare";
1921  case TerminatorTypeFilledSquare: return L"TerminatorTypeFilledSquare";
1922  case TerminatorTypeSlash: return L"TerminatorTypeSlash";
1923  case TerminatorTypeCrossedCircle: return L"TerminatorTypeCrossedCircle";
1924  case TerminatorTypeXCircle: return L"TerminatorTypeXCircle";
1925  case TerminatorTypeTriangle: return L"TerminatorTypeTriangle";
1926  case TerminatorTypeFilledTriangle: return L"TerminatorTypeFilledTriangle";
1927  case TerminatorTypePlus: return L"TerminatorTypePlus";
1928  case TerminatorTypeXCross: return L"TerminatorTypeXCross";
1929  case TerminatorTypeIntegral: return L"TerminatorTypeIntegral";
1930  case TerminatorTypeCircleCenter: return L"TerminatorTypeCircleCenter";
1931  case TerminatorTypeDoubleOpenArrow: return L"TerminatorTypeDoubleOpenArrow";
1932  case TerminatorTypeDoubleCloseArrow: return L"TerminatorTypeDoubleCloseArrow";
1933  case TerminatorTypeDoubleFillArrow: return L"TerminatorTypeDoubleFillArrow";
1934  case TerminatorTypeDoubleTriangle: return L"TerminatorTypeDoubleTriangle";
1935  case TerminatorTypeTopOpenArrow: return L"TerminatorTypeTopOpenArrow";
1936  case TerminatorTypeBottomOpenArrow: return L"TerminatorTypeBottomOpenArrow";
1937  case TerminatorTypeTopFillArrow: return L"TerminatorTypeTopFillArrow";
1938  case TerminatorTypeBottomFillArrow: return L"TerminatorTypeBottomFillArrow";
1939  case TerminatorTypeDoubleCrossArrow: return L"TerminatorTypeDoubleCrossArrow";
1940 
1941  default: return L"Unknown";
1942  }
1943  }
1945  {
1946  IncludeAll = -1,
1947  IncludeNone = 0,
1948  IncludeLeaderCurve = 1,
1949  IncludeLeaderArrowHead = 2,
1950  IncludeLeaderExtensionLine = 4,
1951  IncludeLeaderApplicationZone = 8,
1952  };
1953 
1954  //! \brief This class graphically represents a leader head.
1956  {
1957  protected:
1963  protected:
1964  public:
1965  inline ArrowHead(
1966  const Dtk_Double64 inWidth,
1967  const Dtk_Double64 inHeight,
1968  const Dtk_pnt& inArrowLocation,
1969  const LeaderTerminatorTypeEnum inTerminatorType,
1970  const Dtk_InfoPtr& inInfos,
1971  const Dtk_dir& inRefDir,
1972  const Dtk_dir& inAxisDir )
1973  {
1974  SetData( inWidth, inHeight, inArrowLocation, inTerminatorType, inInfos, inRefDir, inAxisDir );
1975  }
1976  //! \BaseConstructor
1977  inline ArrowHead()
1978  : m_Infos( Dtk_Info::Create() )
1979  , m_HeadType( TerminatorTypeOpenArrow )
1980  {}
1981  //! \BaseDestructor
1982  inline ~ArrowHead() {}
1983 
1984  ArrowHead( const ArrowHead& in )
1985  : m_HeadType( in.m_HeadType )
1986  , m_ArrowLocation( in.m_ArrowLocation )
1987  , m_RefDir( in.m_RefDir )
1988  , m_AxisDir( in.m_AxisDir )
1989  {
1990  in.m_Infos.Clone( m_Infos );
1991  }
1992  ArrowHead( ArrowHead&& in ) DTK_NOEXCEPT : m_HeadType( in.m_HeadType ), m_ArrowLocation( std::move(in.m_ArrowLocation) ), m_RefDir( std::move(in.m_RefDir) ), m_AxisDir( std::move(in.m_AxisDir) ), m_Infos( std::move(in.m_Infos) ) {}
1994  {
1995  if( &in == this )
1996  {
1997  return *this;
1998  }
1999  m_HeadType = in.m_HeadType;
2000  m_ArrowLocation = std::move( in.m_ArrowLocation );
2001  m_RefDir = std::move( in.m_RefDir );
2002  m_AxisDir = std::move( in.m_AxisDir );
2003  m_Infos = std::move( in.m_Infos );
2004  };
2005  //! \AssignmentOp{in}
2007  {
2008  if( &in == this )
2009  {
2010  return *this;
2011  }
2012  in.m_Infos.Clone( m_Infos );
2013  m_HeadType = in.m_HeadType;
2014  m_ArrowLocation = in.m_ArrowLocation;
2015  m_RefDir = in.m_RefDir;
2016  m_AxisDir = in.m_AxisDir;
2017  return *this;
2018  }
2019  inline void SetData( const Dtk_Double64 inWidth,
2020  const Dtk_Double64 inHeight,
2021  const Dtk_pnt& inArrowLocation,
2022  const LeaderTerminatorTypeEnum inTerminatorType,
2023  const Dtk_InfoPtr& inInfos,
2024  const Dtk_dir& inRefDir,
2025  const Dtk_dir& inAxisDir )
2026  {
2027  m_HeadType = inTerminatorType;
2028  m_ArrowLocation = inArrowLocation;
2029  m_RefDir = inRefDir;
2030  m_AxisDir = inAxisDir;
2031  SetWidthHeight( inWidth, inHeight );
2032  m_Infos = inInfos;
2033  }
2034  inline const Dtk_InfoPtr& GetInfo() const { return m_Infos; }
2035  inline Dtk_InfoPtr& GetInfo() { return m_Infos; }
2036  inline const Dtk_pnt& GetArrowLocation() const { return m_ArrowLocation; }
2037  inline const LeaderTerminatorTypeEnum GetType() const { return m_HeadType; }
2038  inline void SetType( const LeaderTerminatorTypeEnum inTerminatorType ) { m_HeadType = inTerminatorType; }
2039 
2040  inline void GetDirections( Dtk_dir& outRefDir, Dtk_dir& outAxisDir ) const
2041  {
2042  outRefDir = m_RefDir; outRefDir.Normalize();
2043  outAxisDir = m_AxisDir; outAxisDir.Normalize();
2044  }
2045  inline void GetWidthHeight( Dtk_Double64& outWidth, Dtk_Double64& outHeight ) const
2046  {
2047  outWidth = m_RefDir.norm();
2048  outHeight = 2. * m_AxisDir.norm();
2049  }
2050  inline void SetWidthHeight( const Dtk_Double64 inWidth, const Dtk_Double64 inHeight )
2051  {
2052  m_RefDir.Normalize();
2053  m_AxisDir.Normalize();
2054  m_RefDir *= inWidth;
2055  m_AxisDir *= 0.5 * inHeight;
2056  }
2057  void CreateGeometries( Dtk_tab< Dtk_CurvePtr >& outRes , Dtk_Int32 inByPolygon=DTK_FALSE ) const;
2058  //! \brief Translates the ApplicationZone giving a translation vector
2059  //! \param inTranslateDir the translation vector
2060  //! \return dtkNoError if OK
2061  inline Dtk_ErrorStatus Translate( const Dtk_dir &inTranslateDir )
2062  {
2063  Dtk_transfo TmpMatrix;
2064  TmpMatrix.addTranslate( inTranslateDir );
2065  return Transform( TmpMatrix );
2066  }
2067  //! \brief Applies a transformation matrix to the ApplicationZone
2068  //! \param inTransfo The transformation matrix
2069  //! \return dtkNoError if OK
2070  inline Dtk_ErrorStatus Transform( const Dtk_transfo &inTransfo )
2071  {
2072  m_RefDir = inTransfo * m_RefDir;
2073  m_AxisDir = inTransfo * m_AxisDir;
2074  m_ArrowLocation = inTransfo * m_ArrowLocation;
2075  return dtkNoError;
2076  }
2077  };
2078 public:
2079  //! \brief Internal leader type - linear or angular -
2081  {
2082  TypeUnknown = 0,
2084  TypeAngular
2085  };
2086 
2087 protected:
2088  struct Dtk_Handle; // Not defined here
2089  std::unique_ptr<Dtk_Handle> _Private; // Handle
2090  enum {
2091  _typeID = DTK_TYPE_LEADER
2092  };
2093 
2094  //! \sa Create()
2096  //! \sa Create(const Dtk_Leader& )
2097  Dtk_Leader(const Dtk_Leader& in );
2099 
2101  const Dtk_Double64 &inWidth,
2102  const Dtk_Double64 &inHeight,
2103  const Dtk_pnt &inArrowLocation,
2104  const Dtk_Double64 &inRadius,
2105  const LeaderTerminatorTypeEnum &inTerminatorType,
2106  const Dtk_pnt &inEndingPnt,
2107  const Dtk_pnt &inCenterPnt,
2108  const Dtk_bool &IsCounterClockwise );
2110  const Dtk_Double64 &inWidth,
2111  const Dtk_Double64 &inHeight,
2112  const Dtk_pnt &inArrowLocation,
2113  const LeaderTerminatorTypeEnum &inTerminatorType,
2114  const Dtk_tab<Dtk_pnt> &inPntsArray );
2115  //! \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 &)
2117  const Dtk_Double64 &inWidth,
2118  const Dtk_Double64 &inHeight,
2119  const Dtk_pnt &inArrowLocation,
2120  const Dtk_Double64 &inRadius,
2121  const LeaderTerminatorTypeEnum &inTerminatorType,
2122  const Dtk_pnt &inEndingPnt,
2123  const Dtk_pnt &inCenterPnt,
2124  const Dtk_bool &IsCounterClockwise);
2125  //! \sa Create(const Dtk_Double64 &, const Dtk_Double64 &, const Dtk_pnt &, const LeaderTerminatorTypeEnum &, const Dtk_tab<Dtk_pnt> &)
2127  const Dtk_Double64 &inWidth,
2128  const Dtk_Double64 &inHeight,
2129  const Dtk_pnt &inArrowLocation,
2130  const LeaderTerminatorTypeEnum &inTerminatorType,
2131  const Dtk_tab<Dtk_pnt> &inPntsArray );
2132 
2133  //! \BaseDestructor
2134  virtual ~Dtk_Leader();
2135  inline virtual Dtk_Object* Clone() { return new Dtk_Leader( *this ); }
2136 private:
2137 
2138  friend class Dtk_SmartPtr<Dtk_Leader>;
2139 public:
2140  //! \DtkDynamicType
2142 
2143  //! \DtkDynamicCast
2145 
2146  //! \CreateBase
2148 
2149  //! \CreateCopy{in}
2150  static Dtk_LeaderPtr Create(const Dtk_Leader &in);
2151 
2152  //! \brief Angular leader constructor.
2153  //! \param inWidth Arrow width
2154  //! \param inHeight Arrow height
2155  //! \param inArrowLocation Arrow location point
2156  //! \param inRadius Leader radius
2157  //! \param inTerminatorType Terminator type
2158  //! \param inEndingPnt Leader ending point
2159  //! \param inCenterPnt Center point
2160  //! \param IsCounterClockwise DTK_TRUE if the leader angle is counter-clockwise
2161  static Dtk_LeaderPtr Create(const Dtk_Double64 &inWidth,
2162  const Dtk_Double64 &inHeight, const Dtk_pnt &inArrowLocation,
2163  const Dtk_Double64 &inRadius,
2164  const LeaderTerminatorTypeEnum &inTerminatorType,
2165  const Dtk_pnt &inEndingPnt, const Dtk_pnt &inCenterPnt,
2166  const Dtk_bool &IsCounterClockwise);
2167 
2168  //! \brief Linear leader constructor.
2169  //! \param inWidth Arrow width
2170  //! \param inHeight Arrow height
2171  //! \param inArrowLocation Arrow location point
2172  //! \param inTerminatorType Terminator type
2173  //! \param inPntsArray Points array representing the leader body - in polyline form -
2174  static Dtk_LeaderPtr Create(const Dtk_Double64 &inWidth,
2175  const Dtk_Double64& inHeight, const Dtk_pnt &inArrowLocation,
2176  const LeaderTerminatorTypeEnum &inTerminatorType,
2177  const Dtk_tab<Dtk_pnt> &inPntsArray);
2178 
2179 
2180  //! \brief Retrieves the leader terminator informations.
2181  //! \param outWidth Arrow width
2182  //! \param outHeight Arrow height
2183  //! \param outArrowLocation Arrow location point
2184  //! \param outTerminatorType Terminator type
2185  //! \return dtkNoError if OK
2187  Dtk_Double64 &outHeight, Dtk_pnt &outArrowLocation,
2188  LeaderTerminatorTypeEnum &outTerminatorType) const;
2189 
2190 
2191  //! \brief Returns the leader curve
2192  //! \return Dtk_CurvePtr or NULL.
2194 
2195  //! \brief Set the leader curve Color.
2196  //! \param inColor The curve Color.
2197  void SetLeaderCurveColor( const Dtk_RGB& inColor );
2198 
2199  //! \brief Set the leader curve Thickness in Millimeters.
2200  //! \param inCurveThicknessinMM The curve Thickness in Millimeters.
2201  void SetLeaderCurveThicknessInMM( const Dtk_Double64 inCurveThicknessinMM );
2202 
2203  //! \brief Set the leader curve FontLineType .
2204  //! \param inCurveLineType The curve FontLineType .
2205  void SetLeaderCurveLineType(const Dtk_FontLineType inCurveLineType);
2206 
2207  //! \brief Gets the leader type - read only -
2208  //! \return The leader type
2210 
2211  //! \brief Get the leader Extension Line.
2212  //! \return The Dtk_PolylinePtr defining the Extension Line.
2214 
2215  //! \brief Set the leader Extendion Line.
2216  //! \param inExtLine The Dtk_PolylinePtr defining the Extension Line.
2217  void SetExtensionLine( const Dtk_PolylinePtr& inExtLine );
2218 
2219  //! \brief Set the Leader Terminator Type
2220  //! \param inTerminatorType The Leader Terminator Type
2221  void SetLeaderTerminatorType(const LeaderTerminatorTypeEnum &inTerminatorType);
2222 
2223  void SetLeaderWidthHeight(const Dtk_Double64& inWidth, const Dtk_Double64& inHeight);
2224 
2225  void SetArrowHead( const ArrowHead& inArroWHead );
2226  const ArrowHead& GetArrowHead() const;
2228 
2229  //! \brief Converts the Dtk_Leader to geometrical elements
2230  //! \param outGeomsArray Geometrical elements array
2231  void ConvertToGeom(Dtk_tab<Dtk_CurvePtr> &outGeomsArray, const IncludeOptions inConvertToGeomFilter = IncludeAll, Dtk_Int32 inByPolygon=DTK_FALSE) const;
2232 
2233  //! \brief Retrieves the info
2234  //! \return The info
2236 
2237  //! \Transform{inTransfo}
2239 
2240  //! \brief Set the text frame information - get/set -
2241  //! \return The text frame type
2242  //! \sa FrameType() const
2243  void SetApplicationZoneType( const Dtk_Leader::ApplicationZone::ApplicationZoneEnum& inApplicationZoneType, const Dtk_tab< Dtk_CurvePtr >& inRelatedGeomElements);
2244 
2245  //! \brief Retrieves the Frame - read only -
2246  //! \param outFrame The frame
2247  //! \sa FrameType() const
2248  void GetApplicationZone(Dtk_Leader::ApplicationZone& outApplicationZone) const;
2249 
2250  //! \brief Retrieves the Frame - read only -
2251  //! \param outFrame The frame
2252  //! \sa FrameType() const
2254 
2255 
2256  //! \brief OBSOLETE Retrieves the status of the all around property for the current drawing leader
2257  //! \return DTK_TRUE or DTK_FALSE
2258  //! \deprecated Use GetApplicationZoneType() const or GetApplicationZone()::GetApplicationZoneType() methods instead.
2260 
2261  //! \brief Retrieves The ArrowHead Location point - Get Only -.
2262  //! \return The ArrowHead Location point.
2263  const Dtk_pnt& GetArrowLocation() const;
2264 
2265  //! \brief Set the status of the all around property for the current drawing leader
2266  //! \param inAllAroundSetValue as boolean value
2267  void SetAllAroundSet(const Dtk_bool & inAllAroundSetValue);
2268 
2269  //! \brief Retrieves the value of the leader stub.
2270  //! \return double.
2271  //! \remark If the Stub Delta is positive, the last leader segment represents the stub.
2272  double GetStubDelta() const;
2273 
2274  //! \brief Set the value of the leader stub.
2275  //! \param inStubDelta as double value.
2276  //! \remark If the Stub Delta is positive, the last leader segment represents the stub.
2277  void SetStubDelta(const double & inStubDelta);
2278 
2279 };
2280 
2281 //! \ingroup draw
2282 //! \class Dtk_Annotation
2283 //! \brief This is abstract Dtk_Annotation class.
2284 //! \SmartPtr{Dtk_AnnotationPtr}
2286 {
2287 protected:
2288  struct Dtk_Handle; // Not defined here
2289  std::unique_ptr<Dtk_Handle> _Private; // Handle
2290  enum {
2291  _typeID = DTK_TYPE_ANNOTATION
2292  };
2293  virtual ~Dtk_Annotation();
2297 
2298  //! \brief Full featured constructor
2299  //! \param inLocationPnt Location of the Dtk_Annotation
2300  //! \param inInfos Infos
2301  //! \param inLeadersArray Addittional leaders array
2302  //! \param inAngle Angle
2303  //! \param inOffSet Offset
2304  //! \param inAnchorType Annotation anchor type
2305  //! \param inJustificationType Annotation justification type
2306  Dtk_Annotation(const Dtk_pnt &inLocationPnt, const Dtk_InfoPtr &inInfos,
2307  Dtk_tab<Dtk_LeaderPtr> inLeadersArray = Dtk_tab<Dtk_LeaderPtr>(),
2308  const Dtk_Double64 &inAngle = 0.0, const Dtk_Double64 &inOffSet = 0.0,
2309  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2310  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2311  virtual Dtk_Object* Clone() = 0;
2312 
2313 private:
2314  friend class Dtk_SmartPtr<Dtk_Annotation>;
2315 public:
2316  //! \DtkDynamicType
2317  Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId);
2318 
2319  //! \DtkDynamicCast
2320  static Dtk_Annotation *DtkDynamicCast(Dtk_Object *s);
2321 
2322  //! \brief Retrieves the number of leaders
2323  //! \return The number of leaders
2324  Dtk_Size_t GetNumLeaders() const;
2325 
2326  //! \brief Gets the i'th leader
2327  //! \param inPos The leader position - 0 indexed -
2328  //! \return The inPos'th leader
2329  Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) const;
2330 
2331  //! \brief Adds a leader to the Dtk_Annotation
2332  //! \param leader The leader to be added
2333  //! \return dtkNoError is OK
2334  //! \remarks If Added leader is NULL, so no leader is added.
2335  Dtk_ErrorStatus AddLeader(const Dtk_LeaderPtr &leader);
2336 
2337  //! \brief Get the justification type - read only -
2338  //! \return The justification type
2339  //! \deprecated use the Dtk_TextStyle::Justification() instead
2340  SetAsDeprecated("Undefined", "Use Dtk_TextStyle::Justification()")
2341  Dtk_justication_type GetJustification() const;
2342 
2343  //! \brief Gets the text rotation angle giving a reference base.
2344  //! \param inXAxis The reference X Axis - default value = (1,0,0) -
2345  //! \param inYAxis The reference Y Axis - default value = (0,1,0) -
2346  //! \return The rotation angle.
2347  Dtk_Double64 GetRotationAngle(
2348  const Dtk_dir &inXAxis = Dtk_dir(1,0,0),
2349  const Dtk_dir& inYAxis = Dtk_dir(0,1,0)) const;
2350 
2351  //! \brief Gets the annotation offset - read only -
2352  //! \return The annotation offset.
2353  //! \warning For internal use only
2354  Dtk_Double64 GetOffset() const;
2355 
2356  //! \brief Get the X Axis - read only -
2357  //! \return The X Axis.
2358  Dtk_dir GetXAxis() const;
2359 
2360  //! \brief Get the Y Axis - read only -
2361  //! \return The Y Axis.
2362  Dtk_dir GetYAxis() const;
2363 
2364  //! \brief Gets the location anchor type - read only -
2365  //! \return The location anchor type.
2366  const Dtk_anchor_type& GetLocationAnchorType() const;
2367 
2368  //! \brief Get the annoation location point
2369  //! \return The location point
2370  virtual Dtk_pnt GetLocation() const;
2371 
2372  //! \brief Reverses the Dtk_Annotation.
2374 
2375  // The interface functions
2376  virtual type_detk get_type_detk() const = 0;
2377 
2378  //! \brief Processes all the Dtk_Annotation anchor points.
2379  //! \param outTabPnts The resulting anchor point array.
2380  //! \return dtkNoError if OK
2381  virtual Dtk_ErrorStatus GetAnchorPoints(
2382  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const = 0;
2383 
2384  //! \brief Sets the Dtk_Annotation anchor point.
2385  //! \param inNewLocation The new location point.
2386  //! \param inLocationAnchorType The anchor type related to the new location.
2387  //! \return dtkNoError if OK
2388  virtual Dtk_ErrorStatus SetAnchorPoint(
2389  const Dtk_pnt &inNewLocation,
2390  const Dtk_anchor_type &inLocationAnchorType) = 0;
2391 
2392  //! \brief Sets the location point of the Dtk_Annotation
2393  //! \brief The location point is related to the anchor type
2394  //! \param inLocation the location point
2395  //! \return dtkNoError if OK
2396  virtual Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation) = 0;
2397 
2398  //! \brief Sets the location point of the Dtk_Annotation
2399  //! \brief The location point is related to the anchor type
2400  //! \param location the location point
2401  //! \param inAnchorType The anchor type related to the new location.
2402  //! \return dtkNoError if OK
2403  Dtk_ErrorStatus SetLocation(const Dtk_pnt& location, const Dtk_anchor_type& inAnchorType);
2404 
2405  //! \brief Sets the offset of the Dtk_Annotation
2406  //! \brief The Offset is used to process bounding frames.
2407  //! \param inOffset The offset
2408  //! \return dtkNoError if OK
2409  //! \warning For internal use only
2410  virtual Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset) = 0;
2411 
2412  //! \brief Sets the annotation angle using the annotation base.
2413  //! \param inRotationAngle The rotation angle to be set
2414  //! \return dtkNoError if OK
2415  virtual Dtk_ErrorStatus SetRotationAngle(
2416  const Dtk_Double64 &inRotationAngle);
2417 
2418  //! \Transform{inTransfo}
2419  virtual Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo) = 0;
2420 };
2421 
2422 //! \ingroup draw
2423 //! \class Dtk_Roughness
2424 //! \brief This is the Roughness class
2425 //! \SmartPtr{Dtk_RoughnessPtr}
2426 //! \image html RoughNessDescription.png
2428 {
2429 public :
2431  //! \image html ObtentionTypeNotDefined.png
2432  ObtentionTypeNotDefined = 0,
2433  //! \image html ObtentionTypeMachiningMandatory.png
2435  //! \image html ObtentionTypeMachiningForbidden.png
2436  ObtentionTypeMachiningForbidden
2437  };
2438 
2440  //! \image html ApplyToSpecifiedSurface.png
2441  ApplyToSpecifiedSurface = 0,
2442  //! \image html ApplyToSurroundingSurfaces.png
2444  //! \image html ApplyToBasicSurface.png
2446  //! \image html ApplyToAllSurfaces.png
2447  ApplyToAllSurfaces
2448  };
2449 
2451  ModeNone = 0,
2452  //! \image html ModeMultiDirectional.png
2454  //! \image html ModeCircular.png
2456  //! \image html ModeRadial.png
2458  //! \image html ModeParticular.png
2460  //! \image html ModeWithAngles.png
2462  //! \image html ModeParallel.png
2464  //! \image html ModePerpendicular.png
2465  ModePerpendicular
2466  };
2467 protected:
2468  struct Dtk_Handle; // Not defined here
2469  std::unique_ptr<Dtk_Handle> _Private; // Handle
2470  enum
2471  {
2472  _typeID = DTK_TYPE_ROUGHNESS
2473  };
2474 
2475  //! \sa Create()
2477 
2478  //! \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 &)
2480  const Dtk_pnt &inLocationPnt,
2481  Dtk_Text inTopLeftText = Dtk_Text(),
2482  Dtk_Text inMiddleLeftText = Dtk_Text(),
2483  Dtk_Text inBottomLeftText = Dtk_Text(),
2484  Dtk_Text inTopRightText = Dtk_Text(),
2485  Dtk_Text inMiddleRightText = Dtk_Text(),
2486  Dtk_Text inBottomRightText = Dtk_Text(),
2487  const ObtentionTypeEnum &inObtentionType = ObtentionTypeNotDefined,
2488  const ApplyToEnum &inApplyToType = ApplyToSpecifiedSurface,
2489  const Dtk_InfoPtr &inInfos = NULL,
2491  const Dtk_Double64 &inAngle = 0.0,
2492  const Dtk_Double64 &inOffSet = 0.0,
2493  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2494  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2495 
2496  //! \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 &)
2498  const Dtk_pnt &inLocationPnt,
2499  const Dtk_InfoPtr &inInfos,
2501  const Dtk_Double64 &inAngle = 0.0,
2502  const Dtk_Double64 &inOffSet = 0.0,
2503  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2504  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2505 
2506  //! \sa Create(const Dtk_Roughness &)
2510 
2513 
2514  inline virtual Dtk_Object* Clone() { return new Dtk_Roughness(*this); }
2515 
2516 private:
2517  friend class Dtk_SmartPtr<Dtk_Roughness>;
2518  friend class Dtk_Symbol;
2519 public:
2520  //! \DtkDynamicType
2522 
2523  //! \DtkDynamicCast
2525 
2526  //! \CreateBase
2528 
2529  //! \brief Full featured constructor
2530  //! \param inLocationPnt Location point
2531  //! \param inTopLeftText Top left text
2532  //! \param inMiddleLeftText Middle left text
2533  //! \param inBottomLeftText Bottom left text
2534  //! \param inTopRightText Top right text
2535  //! \param inMiddleRightText Middle right text
2536  //! \param inBottomRightText Bottom right text
2537  //! \param inObtentionType Obtention type
2538  //! \param inApplyToType ApplyTo type
2539  //! \param inInfos Roughness infos
2540  //! \param inLeadersArray Leaders array
2541  //! \param inAngle Angle
2542  //! \param inOffSet Offset
2543  //! \param inAnchorType Roughness anchor type
2544  //! \param inJustificationType Justification type
2545  //! \return The created Dtk_RoughnessPtr
2546  static Dtk_RoughnessPtr Create(const Dtk_pnt &inLocationPnt,
2547  Dtk_Text inTopLeftText = Dtk_Text(),
2548  Dtk_Text inMiddleLeftText = Dtk_Text(),
2549  Dtk_Text inBottomLeftText = Dtk_Text(),
2550  Dtk_Text inTopRightText = Dtk_Text(),
2551  Dtk_Text inMiddleRightText = Dtk_Text(),
2552  Dtk_Text inBottomRightText = Dtk_Text(),
2553  const ObtentionTypeEnum &inObtentionType = ObtentionTypeNotDefined,
2554  const ApplyToEnum &inApplyToType = ApplyToSpecifiedSurface,
2555  const Dtk_InfoPtr &inInfos = NULL,
2557  const Dtk_Double64 &inAngle = 0.0,
2558  const Dtk_Double64 &inOffSet = 0.0,
2559  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2560  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2561 
2562  //! \brief Full featured constructor
2563  //! \param inLocationPnt Location point
2564  //! \param inInfos Roughness infos
2565  //! \param inLeadersArray Leaders array
2566  //! \param inAngle Angle
2567  //! \param inOffSet Offset
2568  //! \param inAnchorType Roughness anchor type
2569  //! \param inJustificationType Justification type
2570  //! \return The created Dtk_RoughnessPtr
2571  static Dtk_RoughnessPtr Create(const Dtk_pnt &inLocationPnt,
2572  const Dtk_InfoPtr &inInfos,
2574  const Dtk_Double64 &inAngle = 0.0, const Dtk_Double64 &inOffSet = 0.0,
2575  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
2576  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
2577 
2578  //! \CreateCopy{in}
2580 
2581  //! \brief Converts the rough mode into a Dtk_Text - used to Dtk_Symbol conversion -
2583 
2584  Dtk_Oriented2dBBox GetOuterBoundingBox(const Dtk_bool inIncludeSymbolGeometry) const;
2585  //! \brief Sets the top-left text
2586  //! \param inText The new text.
2587  //! \return dtkNoError if OK
2588  //! \sa GetTopLeftText
2590 
2591  //! \brief Sets the middle-left text
2592  //! \param inText The new text.
2593  //! \return dtkNoError if OK
2594  //! \sa GetMiddleLeftText
2596 
2597  //! \brief Sets the bottom-left text
2598  //! \param inText The new text.
2599  //! \return dtkNoError if OK
2600  //! \sa GetBottomLeftText
2602 
2603  //! \brief Sets the top-right text
2604  //! \param inText The new text.
2605  //! \return dtkNoError if OK
2606  //! \sa GetTopRightText
2608 
2609  //! \brief Sets the middle-right text
2610  //! \param inText The new text.
2611  //! \return dtkNoError if OK
2612  //! \sa GetMiddleRightText
2614 
2615  //! \brief Sets the bottom-right text
2616  //! \param inText The new text.
2617  //! \return dtkNoError if OK
2618  //! \sa GetBottomRightText
2620 
2621  //! \brief Sets the CutOff text
2622  //! \param inText The new CutOff text.
2623  //! \return dtkNoError if OK
2624  //! \sa GetCutOff
2626 
2627  //! \brief Sets the OtherRequirement text
2628  //! \param inText The new OtherRequirement text.
2629  //! \return dtkNoError if OK
2630  //! \sa GetOtherRequirement
2632 
2633  //! \brief Sets the rough mode.
2634  //! \param inRoughMode The new rough mode - in Text form -.
2635  //! \return dtkNoError if OK
2636  //! \sa GetRoughMode
2638 
2639  //! \brief Sets the obtention type.
2640  //! \param inObtentionType The obtention type.
2641  //! \return dtkNoError if OK
2642  //! \sa GetRoughnessType
2644 
2645  //! \brief Sets the apply-to type.
2646  //! \param inApplyTo The new apply-to type.
2647  //! \return dtkNoError if OK
2648  //! \sa GetTopLeftText
2650 
2651  //! \brief Sets text are invert.
2652  //! \param inValue DTK_TRUE all text are invert
2653  //! \sa GetInvertText
2655 
2656  //! \brief Gets the top-left text - read only -.
2657  //! \return The top-left text
2658  //! \sa SetTopLeftText
2660 
2661  //! \brief Gets the middle-left text - read only -.
2662  //! \return The middle-left text
2663  //! \sa SetMiddleLeftText
2665 
2666  //! \brief Gets the bottom-left text - read only -.
2667  //! \return The bottom-left text
2668  //! \sa SetBottomLeftText
2670 
2671  //! \brief Gets the top-right text - read only -.
2672  //! \return The top-right text
2673  //! \sa SetTopRightText
2675 
2676  //! \brief Gets the middle-right text - read only -.
2677  //! \return The middle-right text
2678  //! \sa SetMiddleRightText
2680 
2681  //! \brief Gets the bottom-right text - read only -.
2682  //! \return The bottom-right text
2683  //! \sa SetBottomRightText
2685 
2686  //! \brief Gets the CutOff text - read only -.
2687  //! \return The CutOff text
2688  //! \sa SetCutOff
2690 
2691  //! \brief Gets the OtherRequirement text - read only -.
2692  //! \return The OtherRequirement text
2693  //! \sa SetOtherRequirement
2695 
2696  //! \brief Gets the obtention type - read only -.
2697  //! \return The obtention type
2698  //! \sa SetRoughnessType
2700 
2701  //! \brief Gets the apply-to type - read only -.
2702  //! \return The apply-to type
2703  //! \sa SetRoughnessApplyTo
2705 
2706  //! \brief Gets the rough mode - read only -.
2707  //! \return The rough mode
2708  //! \sa SetRoughMode
2710 
2711  //! \brief Gets text is invert or not.
2712  //! \return DTK_TRUE if all text are invert , DTK_FALSE otherwise
2713  //! \sa SetInvertText
2715 
2716  //! \brief Processes all the Dtk_Annotation anchor points.
2717  //! \param outTabPnts The resulting anchor point array.
2718  //! \return dtkNoError if OK
2720 
2721  //! \brief Processes all the Dtk_Annotation anchor points.
2722  //! \param outTabPnts The resulting anchor point array.
2723  //! \return dtkNoError if OK
2725 
2726  //! \return The type of the entity type - DTK_TYPE_ROUGHNESS -
2728 
2729  //! \brief Sets the Dtk_Roughness anchor point.
2730  //! \param inNewLocation The new location point.
2731  //! \param inLocationAnchorType The anchor type related to the new location.
2732  //! \return dtkNoError if OK
2734  const Dtk_pnt &inNewLocation,
2735  const Dtk_anchor_type &inLocationAnchorType);
2736 
2737  //! \brief Sets the location point of the Dtk_Annotation
2738  //! \brief The location point is related to the anchor type
2739  //! \param inLocation the location point
2740  //! \return dtkNoError if OK
2742 
2743  //! \brief Sets the annotation angle using the annotation base.
2744  //! \param inRotationAngle The rotation angle to be set
2745  //! \return dtkNoError if OK
2747 
2748  //! \brief Sets the offset of the Dtk_Annotation
2749  //! \brief The Offset is used to process bounding frames.
2750  //! \param inOffset The offset
2751  //! \return dtkNoError if OK
2752  //! \warning For internal use only
2754 
2755  //! \Transform{inTransfo}
2757  //! \brief Translates the Dtk_ReferenceBlock - internal use only -.
2758  //! \param inTranslationDir the translation vector.
2759  void Translate(const Dtk_dir &inTranslationDir);
2760 
2761  //! \brief Process the Roughness Symbol Informations as shown in the picture below.
2762  //! \image html RoughNessSymbolInfos.png
2763  //! \param outPnts The reference points processed.
2764  //! \param outCircleRadius The circle radius processed.
2765  void ProcessSymbolInfos(Dtk_tab< Dtk_pnt >& outPnts, Dtk_Double64& outCircleRadius) const;
2766 
2767  //! \brief set the color of the Symbol
2768  //! \param inColor : the color of the symbol.
2769  void SetSymbolColor(Dtk_Int32 inColorId) const;
2770 
2771  //! \brief get the color of the Symbol
2772  //! \param outColor : the color of the symbol.
2773  void GetSymbolColor(Dtk_Int32& outColorId) const;
2774 
2775 
2776  //! \brief Add Geometries associated to whole Dtk_Roughness.
2777  //! \remark Used to Dtk_Symbol convertion.
2778  //! \param inAssociatedGeometries The Geometries associated to the Dtk_Roughness.
2779  void AddAssociatedGeometries( Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries );
2780 
2781  //! \brief Retrieves the Dtk_Roughness geometries.
2782  //! \return All the associated geometries asked.
2784 };
2785 
2786 //! \ingroup draw
2787 //! \class Dtk_Welding
2788 //! \brief This is the Welding Symbol class
2789 //! \SmartPtr{Dtk_WeldingPtr}
2790 //! \n
2791 //! \image html WeldSymbolDescription.png
2792 //! \n\n
2794 {
2795 public :
2797  SymbolNone = 0,
2798  //! \image html SymbolSquareButtWeld.png
2800  //! \image html SymbolSingeVButtWeld.png
2802  //! \image html SymbolSingleBevelButtWeld.png
2804  //! \image html SymbolFlareVButtWeld.png
2806  //! \image html SymbolFlareBevelButtWeld.png
2808  //! \image html SymbolSingleUButtWeld.png
2810  //! \image html SymbolSingleJButtWeld.png
2812  //! \image html SymbolFilletWeld.png
2814  //! \image html SymbolSpotWeld.png
2816  //! \image html SymbolBackWeld.png
2818  //! \image html SymbolSteepFlankedSingleBevelButtWeld.png
2820  //! \image html SymbolSteepFlankedSingleVWeld.png
2822  //! \image html SymbolPlugWeld.png
2824  //! \image html SymbolRemovableBackingStripUsed.png
2826  //! \image html SymbolPermanentBackingStripUsed.png
2828  //! \image html SymbolSurfacingWeld.png
2830  //! \image html SymbolSeamWeld.png
2832  //! \image html SymbolFlangeEdge.png
2834  //! \image html SymbolStickWeld.png
2836  //! \image html SymbolFlangeCorner.png
2838  //! \image html SymbolVFlareWeld.png
2840  //! \image html SymbolFlareBevelWeld.png
2842  //! \image html SymbolScarfWeld.png
2844  //! \image html SymbolStudWeld.png
2846  //! \image html SymbolANSIEdgeWeld.png
2848  //! \image html SymbolISOEdgeWeld.png
2850  //! \image html SymbolSurfaceJointWeld.png
2852  //! \image html SymbolInclinedJointWeld.png
2854  //! \image html SymbolMeltThroughWeld.png
2856  //! \image html SymbolSolderedJointWeld.png
2858  //! \image html SymbolFoldJointWeld.png
2860  //! \image html SymbolKGrooveWeld.png
2862  //! \image html SymbolStakeWeld.png
2863  SymbolStakeWeld
2864  };
2866  {
2867  switch( inEnum )
2868  {
2869  case SymbolNone : return L"SymbolNone";
2870  case SymbolSquareButtWeld : return L"SymbolSquareButtWeld";
2871  case SymbolSingeVButtWeld : return L"SymbolSingeVButtWeld";
2872  case SymbolSingleBevelButtWeld : return L"SymbolSingleBevelButtWeld";
2873  case SymbolFlareVButtWeld : return L"SymbolFlareVButtWeld";
2874  case SymbolFlareBevelButtWeld : return L"SymbolFlareBevelButtWeld";
2875  case SymbolSingleUButtWeld : return L"SymbolSingleUButtWeld";
2876  case SymbolSingleJButtWeld : return L"SymbolSingleJButtWeld";
2877  case SymbolFilletWeld : return L"SymbolFilletWeld";
2878  case SymbolSpotWeld : return L"SymbolSpotWeld";
2879  case SymbolBackWeld : return L"SymbolBackWeld";
2880  case SymbolSteepFlankedSingleBevelButtWeld : return L"SymbolSteepFlankedSingleBevelButtWeld";
2881  case SymbolSteepFlankedSingleVWeld : return L"SymbolSteepFlankedSingleVWeld";
2882  case SymbolPlugWeld : return L"SymbolPlugWeld";
2883  case SymbolRemovableBackingStripUsed : return L"SymbolRemovableBackingStripUsed";
2884  case SymbolPermanentBackingStripUsed : return L"SymbolPermanentBackingStripUsed";
2885  case SymbolSurfacingWeld : return L"SymbolSurfacingWeld";
2886  case SymbolSeamWeld : return L"SymbolSeamWeld";
2887  case SymbolFlangeEdge : return L"SymbolFlangeEdge";
2888  case SymbolStickWeld : return L"SymbolStickWeld";
2889  case SymbolFlangeCorner : return L"SymbolFlangeCorner";
2890  case SymbolVFlareWeld : return L"SymbolVFlareWeld";
2891  case SymbolFlareBevelWeld : return L"SymbolFlareBevelWeld";
2892  case SymbolScarfWeld : return L"SymbolScarfWeld";
2893  case SymbolStudWeld : return L"SymbolStudWeld";
2894  case SymbolANSIEdgeWeld : return L"SymbolANSIEdgeWeld";
2895  case SymbolISOEdgeWeld : return L"SymbolISOEdgeWeld";
2896  case SymbolSurfaceJointWeld : return L"SymbolSurfaceJointWeld";
2897  case SymbolInclinedJointWeld : return L"SymbolInclinedJointWeld";
2898  case SymbolMeltThroughWeld: return L"SymbolMeltThroughWeld";
2899  case SymbolSolderedJointWeld: return L"SymbolSolderedJointWeld";
2900  case SymbolFoldJointWeld: return L"SymbolFoldJointWeld";
2901  case SymbolKGrooveWeld: return L"SymbolKGrooveWeld";
2902  case SymbolStakeWeld: return L"SymbolFoldJointWeldSymbolStakeWeld";
2903  default : return L"Unknown";
2904  }
2905  }
2906 
2908  ComplementarySymbolNone = 0,
2909  //! \image html ComplementarySymbolWeldWithFlatFace.png
2911  //! \image html ComplementarySymbolWeldWithConvexFace.png
2913  //! \image html ComplementarySymbolWeldWithConcaveFace.png
2915  //! \image html ComplementarySymbolFlushFinishedWeld.png
2917  //! \image html ComplementarySymbolFilletWeldWithSmoothBlendedFace.png
2918  ComplementarySymbolFilletWeldWithSmoothBlendedFace
2919  };
2920 
2922  {
2923  WeldTextUndefinedType = 0,
2934  WeldTextWeldSymbol
2935  };
2936 
2938  {
2939  switch( inEnum )
2940  {
2941  case ComplementarySymbolNone : return L"ComplementarySymbolNone";
2942  case ComplementarySymbolWeldWithFlatFace : return L"ComplementarySymbolWeldWithFlatFace";
2943  case ComplementarySymbolWeldWithConvexFace : return L"ComplementarySymbolWeldWithConvexFace";
2944  case ComplementarySymbolWeldWithConcaveFace : return L"ComplementarySymbolWeldWithConcaveFace";
2945  case ComplementarySymbolFlushFinishedWeld : return L"ComplementarySymbolFlushFinishedWeld";
2946  case ComplementarySymbolFilletWeldWithSmoothBlendedFace : return L"ComplementarySymbolFilletWeldWithSmoothBlendedFace";
2947  default : return L"Unknown";
2948  }
2949  }
2950 
2952  FinishSymbolNone = 0,
2953  //! \image html WeldFinishSymbolChip.png
2955  //! \image html WeldFinishSymbolFlush.png
2957  //! \image html WeldFinishSymbolGrind.png
2959  //! \image html WeldFinishSymbolHammer.png
2961  //! \image html WeldFinishSymbolMachine.png
2963  //! \image html WeldFinishSymbolRoll.png
2965  //! \image html WeldFinishSymbolPeening.png
2967  //! \image html WeldFinishSymbolUnspecified.png
2968  FinishSymbolUnspecified
2969  };
2971  {
2972  switch( inEnum )
2973  {
2974  case FinishSymbolNone : return L"FinishSymbolNone";
2975  case FinishSymbolChip : return L"FinishSymbolChip";
2976  case FinishSymbolFlush : return L"FinishSymbolFlush";
2977  case FinishSymbolGrind : return L"FinishSymbolGrind";
2978  case FinishSymbolHammer : return L"FinishSymbolHammer";
2979  case FinishSymbolMachine : return L"FinishSymbolMachine";
2980  case FinishSymbolRoll : return L"FinishSymbolRoll";
2981  case FinishSymbolPeening : return L"FinishSymbolPeening";
2982  case FinishSymbolUnspecified : return L"FinishSymbolUnspecified";
2983  default : return L"Unknown";
2984  }
2985  }
2986 
2987 protected:
2988  // Weld Symbol Terminology :
2989  //
2990  // OTHER SIDE
2991  // ------------
2992  // ARROW SIDE \
2993  // _\|
2994  //
2995  struct Dtk_Handle; // Not defined here
2996  std::unique_ptr< Dtk_Handle > _Private; // Handle
2997  enum { _typeID = DTK_TYPE_WELDING };
2998 
2999  //! \sa Create()
3001 
3002  //! \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)
3003  Dtk_Welding(const Dtk_pnt &inLocation,
3004  Dtk_CompositeText inMiddleRightText,
3005  const Dtk_bool inFieldWeldActivated,
3006  const Dtk_Char8 inIndentLineFlag,
3007  const Dtk_bool inTailActivated,
3008  const Dtk_bool inReverseTailAndField,
3009  const Dtk_InfoPtr &inInfos,
3010  Dtk_tab<Dtk_LeaderPtr> inLeaders,
3011  const Dtk_Double64 inAngle,
3012  const Dtk_Double64 inOffset,
3013  const Dtk_anchor_type inAnchorType,
3014  const Dtk_justication_type inJustification);
3015 
3016  //! \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)
3017  Dtk_Welding(const Dtk_pnt &inLocation,
3018  const Dtk_InfoPtr &inInfos,
3020  const Dtk_Double64 inAngle = 0.0,
3021  const Dtk_Double64 inOffset = 0.0,
3022  const Dtk_anchor_type inAnchor_type = DTK_ANCHOR_BOTTOM_LEFT,
3023  const Dtk_justication_type inJustification = DTK_JUSTIFY_LEFT);
3024  //! \sa Create(const Dtk_Welding &)
3028  inline virtual Dtk_Object* Clone() { return new Dtk_Welding(*this); }
3029 
3030 private:
3031  friend class Dtk_SmartPtr<Dtk_Welding>;
3032  friend class Dtk_Symbol;
3033 public:
3034  //! \DtkDynamicType
3036 
3037  //! \DtkDynamicCast
3039 public:
3040  //! \CreateBase
3042 
3043  //! \brief Calls full featured constructor to allocate a new object.
3044  //! \param inLocationPnt The Dtk_Welding location
3045  //! \param inTailText Tail Dtk_CompositeText.
3046  //! \param inFieldWeldActivated DTK_TRUE if Field is activated. DTK_FALSE else.
3047  //! \param inIndentLineFlag The IndentLineSideDown Flag:\n
3048  //! - -1 To disable Indent Line - default -.\n
3049  //! - 0 To set Indent Line to OtherSide - Up -.\n
3050  //! - 1 To set Indent Line to ArrowSide - Down -.
3051  //! \param inTailActivated The Tail Flag Activation status. DTK_TRUE if activated DTK_FALSE else.
3052  //! \param inReverseTailAndField The Tail/Field Reverse Flag:\n
3053  //! - If DTK_TRUE the Field is at the left of the Dtk_Welding and the Tail is at Right.
3054  //! - If DTK_FALSE the Field and Tail are reversed - Field => Right and Tail => Left -.
3055  //! \param inInfos Dtk_Welding infos
3056  //! \param inLeaders Leaders array.
3057  //! \param inAngle Angle.
3058  //! \param inOffSet Offset.
3059  //! \param inAnchorType Dtk_Welding anchor type.
3060  //! \param inJustificationType Justification type.
3061  //! \return The created Dtk_WeldingPtr
3062  static Dtk_WeldingPtr Create(const Dtk_pnt &inLocation,
3063  Dtk_CompositeText inTailText,
3064  const Dtk_bool inFieldWeldActivated,
3065  const Dtk_Char8 inIndentLineFlag,
3066  const Dtk_bool inTailActivated,
3067  const Dtk_bool inReverseTailAndField,
3068  const Dtk_InfoPtr &inInfos,
3069  Dtk_tab<Dtk_LeaderPtr> inLeaders,
3070  const Dtk_Double64 inAngle,
3071  const Dtk_Double64 inOffset,
3072  const Dtk_anchor_type inAnchorType,
3073  const Dtk_justication_type inJustification);
3074 
3075  //! \brief Calls full featured constructor to allocate a new object.
3076  //! \param inLocationPnt The Dtk_Welding location
3077  //! \param inInfos Dtk_Welding infos
3078  //! \param inLeaders Leaders array.
3079  //! \param inAngle Angle.
3080  //! \param inOffSet Offset.
3081  //! \param inAnchorType Dtk_Welding anchor type.
3082  //! \param inJustificationType Justification type.
3083  //! \return The created Dtk_WeldingPtr
3084  static Dtk_WeldingPtr Create(const Dtk_pnt &inLocation,
3085  const Dtk_InfoPtr &inInfos,
3087  const Dtk_Double64 inAngle = 0.0,
3088  const Dtk_Double64 inOffset = 0.0,
3089  const Dtk_anchor_type inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
3090  const Dtk_justication_type inJustification = DTK_JUSTIFY_LEFT);
3091 
3092  //! \CreateCopy{in}
3093  static Dtk_WeldingPtr Create(const Dtk_Welding &in);
3094 
3095  //Dtk_Annotation interface
3097  Dtk_pnt (&inTabPoints)[DTK_NB_ANCHOR_TYPES]) const;
3099  Dtk_pnt (&inTabPoints)[DTK_NB_ANCHOR_TYPES]);
3100 
3101  //! \return The type of the entity type - DTK_TYPE_WELDING -
3103 
3104  //! \brief Add Geometries associated to whole Dtk_Welding (Weld body and tail).
3105  //! \remark Used to Dtk_symbol convertion.
3106  //! \param inAssociatedGeometries The Geometries associated to the Dtk_Welding.
3107  void AddAssociatedGeometries( Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries);
3108 
3109  //! \brief Add a Geometry associated to whole Dtk_Welding (Weld body and tail).
3110  //! \remark Used to Dtk_symbol convertion.
3111  //! \param inAssociatedGeometry The Geometry associated to the Dtk_Welding.
3112  void AddAssociatedGeometry( Dtk_EntityPtr inAssociatedGeometry );
3113 
3114  //! \brief Set the Dtk_Welding OtherSide Texts and their types.
3115  //! \param inTexts Map of texts with their corresponding WeldTextType
3116  void SetOtherSideTexts( std::unordered_map <Dtk_UInt8, Dtk_CompositeText>& inTexts );
3117 
3118  //! \brief Add a Text and its type to the OtherSide
3119  //! \param inType The WeldTextType
3120  //! \param inTexts The text
3122 
3123  //! \brief Add an undefined Text to the OtherSide
3124  //! \param inTexts The text
3126 
3127  //! \brief Set the Dtk_Welding ArrowSide Texts and their types.
3128  //! \param inTexts Map of texts with their corresponding WeldTextType
3129  void SetArrowSideTexts( std::unordered_map <Dtk_UInt8, Dtk_CompositeText>& inTexts );
3130 
3131  //! \brief Add a Text and its type to the ArrowSide
3132  //! \param inType The WeldTextType
3133  //! \param inTexts The text
3135 
3136  //! \brief Add an undefined Text to the ArrowSide
3137  //! \param inTexts The text
3139 
3140  //! \brief Set the WeldingSymbol of the ArrowSide
3141  //! \param inWeldingSymbol The Welding Symbol.
3143 
3144  //! \brief Set the ContourSymbol of the ArrowSide
3145  //! \param inContourSymbol The Contour Symbol.
3147 
3148  //! \brief Set the AssociatedGeometries of the ArrowSide
3149  //! \param inAssociatedGeometries The Geometries associated to the ArrowSide.
3151 
3152  //! \brief Add an AssociatedGeometry of the ArrowSide
3153  //! \param inAssociatedGeometry The Geometry associated to the ArrowSide.
3154  void AddArrowSideAssociatedGeometry( Dtk_EntityPtr inAssociatedGeometry );
3155 
3156  //! \brief Set the WeldingSymbol of the OtherSide
3157  //! \param inWeldingSymbol The Welding Symbol.
3159 
3160  //! \brief Set the ContourSymbol of the OtherSide
3161  //! \param inContourSymbol The Contour Symbol.
3163 
3164  //! \brief Set the AssociatedGeometries of the OtherSide
3165  //! \param inAssociatedGeometries The Geometries associated to the OtherSide.
3167 
3168  //! \brief Add an AssociatedGeometry of the OtherSide
3169  //! \param inAssociatedGeometry The Geometry associated to the OtherSide.
3170  void AddOtherSideAssociatedGeometry( Dtk_EntityPtr inAssociatedGeometry );
3171 
3172  //! \brief Return all the texts of the ArrowSide
3173  //! \return A map with WeldTextType keys and Dtk_CompositeText
3174  std::unordered_map <Dtk_UInt8, Dtk_CompositeText> GetArrowSideAllTexts() const;
3175 
3176  //! \brief Return all the texts of the OtherSide
3177  //! \return A map with WeldTextType keys and Dtk_CompositeText
3178  std::unordered_map <Dtk_UInt8, Dtk_CompositeText> GetOtherSideAllTexts() const;
3179 
3180  //! \brief Sets the Dtk_Welding OtherSide Data.
3181  //! \param inWeldingSymbol The Welding Symbol.
3182  //! \param inNumWeldsText The NumWelds Dtk_Text.
3183  //! \param inAngleText The Angle Dtk_Text.
3184  //! \param inContourSymbol The Contour Symbol.
3185  //! \param inFinishSymbolText The Finish Symbol Dtk_Text.
3186  //! \param inSizeText The Size Dtk_Text.
3187  //! \param inLengthText The Length Dtk_Text.
3188  //! \param inAssociatedGeometries The Geometries associated to the OtherSide - used to Dtk_Symbol convertion -.
3190  const WeldingSymbolEnum inWeldingSymbol,
3191  Dtk_Text inNumWeldsText,
3192  Dtk_Text inAngleText,
3193  const ComplementarySymbolEnum inContourSymbol,
3194  Dtk_Text inFinishSymbolText,
3195  Dtk_Text inSizeText,
3196  Dtk_Text inLengthText,
3197  Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries);
3198 
3199  //! \brief Sets the Dtk_Welding ArrowSide Data.
3200  //! \param inWeldingSymbol The Welding Symbol.
3201  //! \param inNumWeldsText The NumWelds Dtk_Text.
3202  //! \param inAngleText The Angle Dtk_Text.
3203  //! \param inContourSymbol The Contour Symbol.
3204  //! \param inFinishSymbolText The Finish Symbol Dtk_Text.
3205  //! \param inSizeText The Size Dtk_Text.
3206  //! \param inLengthText The Length Dtk_Text.
3207  //! \param inAssociatedGeometries The Geometries associated to the ArrowSide - used to Dtk_Symbol convertion -.
3209  const WeldingSymbolEnum inWeldingSymbol,
3210  Dtk_Text inNumWeldsText,
3211  Dtk_Text inAngleText,
3212  const ComplementarySymbolEnum inContourSymbol,
3213  Dtk_Text inFinishSymbolText,
3214  Dtk_Text inSizeText,
3215  Dtk_Text inLengthText,
3216  Dtk_tab< Dtk_EntityPtr > inAssociatedGeometries);
3217 
3218  //! \brief Sets the Tail Dtk_CompositeText.
3219  //! \param inTailText The Tail Dtk_CompositeText.
3220  void SetTailText( Dtk_CompositeText inTailText);
3221 
3222  //! \brief Sets the ArrowSideSizeText Dtk_CompositeText.
3223  //! \param inArrowSideSizeText The Tail Dtk_CompositeText.
3224  void SetArrowSideSizeText( Dtk_CompositeText inArrowSideSizeText);
3225 
3226  //! \brief Sets the OtherSideSizeText Dtk_CompositeText.
3227  //! \param inOtherSideSizeText The Tail Dtk_CompositeText.
3228  void SetOtherSideSizeText( Dtk_CompositeText inOtherSideSizeText);
3229 
3230  //! \brief Sets the Field Weld Flag.
3231  //! \param inFieldWeldFlag The Field Weld Flag. DTK_TRUE if Field Weld is activated. DTK_TRUE else.
3232  void SetFieldWeldFlag(const Dtk_bool inFieldWeldFlag);
3233 
3234  //! \brief Sets the IndentLine Flag.
3235  //! \param inIndentLineFlag The IndentLine Flag:\n
3236  //! - -1 To disable Indent Line - default -.\n
3237  //! - 0 To set Indent Line to OtherSide - Up -.\n
3238  //! - 1 To set Indent Line to ArrowSide - Down -.
3239  void SetIndentLineFlag(const Dtk_Char8 inIndentLineFlag = -1);
3240 
3241  //! \brief Sets the Tail Activation Flag.
3242  //! \param inTailActivated The Tail Flag. If DTK_FALSE - default value - the Tail is not activated. Else it's activated.
3243  void SetWeldTailActivated(const Dtk_bool inTailActivated = DTK_FALSE);
3244 
3245  //! \brief Sets the Field/Tail Reverse Flag.
3246  //! \param inReverseTailAndField The Tail/Field Reverse Flag:\n
3247  //! - If DTK_TRUE the Field is at the left of the Dtk_Welding and the Tail is at Right - default value -.
3248  //! - If DTK_FALSE the Field and Tail are reversed - Field => Right and Tail => Left -.
3249  void SetReverseTailAndFieldFlag(const Dtk_bool inReverseTailAndField = DTK_TRUE);
3250 
3251  //! \brief Tells if the Field Weld Symbol is activated.
3252  //! \return DTK_TRUE if Field Weld Symbol is activated. DTK_FALSE else.
3254 
3255  //! \brief Retrieves the IndentLine Flag.
3256  //! \return -1 if no Indent Line.
3257  //! \return 0 if Indent Line set at the OtherSide - Up -.
3258  //! \return 1 if Indent Line set at the ArrowSide - Down -.
3260 
3261  //! \brief Tells if the Weld Tail is activated.
3262  //! \return DTK_FALSE if no Tail.
3263  //! \return DTK_TRUE if Tail is activated.
3265 
3266  //! \brief Tells if the Field/Tail are reversed.
3267  //! \return DTK_FALSE if Field/Tail not reversed - Filed to the Left and Tail to the Right -.
3268  //! \return DTK_TRUE if Field/Tail reversed.
3270 
3271  //ArrowSide - BottomLine - Accessors
3272 
3273  //! \brief Retrieves the ArrowSide Finish Symbol Dtk_Text.
3274  //! \return The ArrowSide Finish Symbol Dtk_Text.
3276 
3277  //! \brief Retrieves the ArrowSide Angle Dtk_Text.
3278  //! \return The ArrowSide Angle Dtk_Text.
3280 
3281  //! \brief Retrieves the ArrowSide NumWelds Dtk_Text.
3282  //! \return The ArrowSide NumWelds Dtk_Text.
3284 
3285  //! \brief Retrieves the ArrowSide Size Dtk_Text.
3286  //! \return The ArrowSide Size Dtk_Text.
3288 
3289  //! \brief Retrieves the ArrowSide Length Dtk_Text.
3290  //! \return The ArrowSide Length Dtk_Text.
3292 
3293  //! \brief Retrieves the ArrowSide WeldingSymboEnum.
3294  //! \return The ArrowSide WeldingSymboEnum.
3296 
3297  //! \brief Retrieves the ArrowSide WeldingSymboEnum.
3298  //! \return The ArrowSide WeldingSymboEnum.
3300 
3301  //! \brief Retrieves the ArrowSide FinishSymbol as FinishSymbolEnum.
3302  //! \return The ArrowSide FinishSymbol as FinishSymbolEnum.
3304 
3305  //! \sa GetFinishSymbolTextArrowSide() const
3307 
3308  //OtherSide - _TopLine - Accessors
3309  //! \brief Retrieves the OtherSide Finish Symbol Dtk_Text.
3310  //! \return The OtherSide Finish Symbol Dtk_Text.
3312 
3313  //! \brief Retrieves the OtherSide Angle Dtk_Text.
3314  //! \return The OtherSide Angle Dtk_Text.
3316 
3317  //! \brief Retrieves the OtherSide NumWelds Dtk_Text.
3318  //! \return The OtherSide NumWelds Dtk_Text.
3320 
3321  //! \brief Retrieves the OtherSide Size Dtk_Text.
3322  //! \return The OtherSide Size Dtk_Text.
3324 
3325  //! \brief Retrieves the OtherSide Length Dtk_Text.
3326  //! \return The OtherSide Length Dtk_Text.
3328 
3329  //! \brief Retrieves the OtherSide WeldingSymboEnum.
3330  //! \return The OtherSide WeldingSymboEnum.
3332 
3333  //! \brief Retrieves the OtherSide WeldingSymboEnum.
3334  //! \return The OtherSide WeldingSymboEnum.
3336 
3337  //! \brief Retrieves the OtherSide FinishSymbol as FinishSymbolEnum.
3338  //! \return The OtherSide FinishSymbol as FinishSymbolEnum.
3340 
3341  //! \sa GetFinishSymbolTextOtherSide() const
3343 
3344  //! \brief Tells if the Brazing is activated for the OtherSide
3345  //! \return DTK_TRUE if the Brazing is activated, and the corresponding geometry should be in the _AssociatedGeometries, DTK_FALSE otherwise
3347 
3348  //! \brief Sets the Brazing flag for the OtherSide.
3349  //! \param inBrazing The Brazing Flag.
3350  void SetBrazingOtherSide( const Dtk_bool inBrazing = DTK_TRUE );
3351 
3352  //! \brief Tells if the Brazing is activated for the ArrowSide
3353  //! \return DTK_TRUE if the Brazing is activated, and the corresponding geometry should be in the _AssociatedGeometries, DTK_FALSE otherwise
3355 
3356  //! \brief Sets the Brazing flag for the ArrowSide.
3357  //! \param inBrazing The Brazing Flag.
3358  void SetBrazingArrowSide( const Dtk_bool inBrazing = DTK_TRUE );
3359 
3360  //! \brief Retrieves the Tail Dtk_CompositeText.
3361  //! \return The Tail Dtk_CompositeText.
3363 
3364  //! \brief Retrieves the OtherSideSizeText Dtk_CompositeText.
3365  //! \return The OtherSideSizeText Dtk_CompositeText.
3367 
3368  //! \brief Retrieves the ArrowSideSizeText Dtk_CompositeText.
3369  //! \return The ArrowSideSizeText Dtk_CompositeText.
3371 
3372  //! \brief Retrieves the Dtk_Welding geometries.
3373  //! \param inIncludeWeldBodyGeometries If DTK_TRUE includes WeldBody geometries - DTK_TRUE by default -.
3374  //! \param inIncludeOtherSideGeometries If DTK_TRUE includes OtherSide geometries - DTK_TRUE by default -.
3375  //! \param inIncludeArrowSideGeometries If DTK_TRUE includes ArrowSide geometries - DTK_TRUE by default -.
3376  //! \return All the associated geometries asked.
3378  const Dtk_bool inIncludeWeldBodyGeometries = DTK_TRUE,
3379  const Dtk_bool inIncludeOtherSideGeometries = DTK_TRUE,
3380  const Dtk_bool inIncludeArrowSideGeometries = DTK_TRUE) const;
3381 
3382  //! \brief Sets the Dtk_Welding anchor point.
3383  //! \param inNewLocation The new location point.
3384  //! \param inLocationAnchorType The anchor type related to the new location.
3385  //! \return dtkNoError if OK
3387  const Dtk_anchor_type &inLocationAnchorType);
3388 
3389  //! \brief Sets the location point of the Dtk_Annotation
3390  //! \brief The location point is related to the anchor type
3391  //! \param inLocation the location point
3392  //! \return dtkNoError if OK
3394 
3395  //! \brief Sets the annotation angle using the annotation base.
3396  //! \param inRotationAngle The rotation angle to be set
3397  //! \return dtkNoError if OK
3399 
3400  //! \brief Sets the offset of the Dtk_Welding
3401  //! \brief The Offset is used to process bounding frames.
3402  //! \param inOffset The offset
3403  //! \return dtkNoError if OK
3404  //! \warning For internal use only
3406 
3407  //! \brief Convert FinishSymbolEnum to Dtk_Char8.
3408  //! \param inFinishSymbol FinishSymbolEnum to be converted.
3409  //! \return Dtk_Char8 related to inFinishSymbol value.
3410  Dtk_Char8 FinishSymbolToDtk_Text( const FinishSymbolEnum inFinishSymbol) const;
3411 
3412  //! \Transform{inTransfo}
3414 
3415  //! \brief Process the Welding Symbol Informations as shown in the picture below.
3416  //! \image html WeldingSymbolInfos.png
3417  //! \param outPnts The reference points processed.
3418  //! \remark The 1st point is the Field point.
3419  //! \remark The 2nd point is the Tail point.
3421 
3422  //! \brief Process the Welding Symbol Informations.
3423  //! \param inPnts The reference points.
3424  //! \remark The 1st point is the Field point.
3425  //! \remark The 2nd point is the Tail point.
3427 
3428  ///////////////////////Arrow Side New Texts
3429 
3430  //! \brief Sets the ArrowSideDepthText Dtk_CompositeText.
3431  //! \param inArrowSideDepthText The Tail Dtk_CompositeText.
3432  void SetArrowSideDepthText( Dtk_CompositeText inArrowSideDepthText );
3433 
3434  //! \brief Retrieves the ArrowSideDepthText Dtk_CompositeText.
3435  //! \return The ArrowSideDepthText Dtk_CompositeText.
3437 
3438  //! \brief Sets the ArrowSideClearanceText Dtk_CompositeText.
3439  //! \param inArrowSideClearanceText The Tail Dtk_CompositeText.
3440  void SetArrowSideClearanceText( Dtk_CompositeText inArrowSideClearanceText );
3441 
3442  //! \brief Retrieves the ArrowSideClearanceText Dtk_CompositeText.
3443  //! \return The ArrowSideClearanceText Dtk_CompositeText.
3445 
3446  //! \brief Sets the ArrowSideSecondFilletSizeText Dtk_CompositeText.
3447  //! \param inArrowSideSecondFilletSizeText The Tail Dtk_CompositeText.
3448  void SetArrowSideSecondFilletSizeText( Dtk_CompositeText inArrowSideSecondFilletSizeText );
3449 
3450  //! \brief Retrieves the ArrowSideSecondFilletSizeText Dtk_CompositeText.
3451  //! \return The ArrowSideSecondFilletSizeText Dtk_CompositeText.
3453 
3454  //! \brief Sets the ArrowSideSecondFilletLengthText Dtk_CompositeText.
3455  //! \param inArrowSideSecondFilletLengthText The Tail Dtk_CompositeText.
3456  void SetArrowSideSecondFilletLengthText( Dtk_CompositeText inArrowSideSecondFilletLengthText );
3457 
3458  //! \brief Retrieves the ArrowSideSecondFilletLengthText Dtk_CompositeText.
3459  //! \return The ArrowSideSecondFilletLengthText Dtk_CompositeText.
3461 
3462  //! \brief Sets the ArrowSideOpeningText Dtk_CompositeText.
3463  //! \param inArrowSideOpeningText The Tail Dtk_CompositeText.
3464  void SetArrowSideOpeningText( Dtk_CompositeText inArrowSideOpeningText );
3465 
3466  //! \brief Retrieves the ArrowSideOpeningText Dtk_CompositeText.
3467  //! \return The ArrowSideOpeningText Dtk_CompositeText.
3469 
3470  //! \brief Sets the ArrowSideWeldSymbolText Dtk_CompositeText.
3471  //! \param inArrowSideWeldSymbolText The Tail Dtk_CompositeText.
3472  void SetArrowSideWeldSymbolText( Dtk_CompositeText inArrowSideWeldSymbolText );
3473 
3474  //! \brief Retrieves the ArrowSideWeldSymbolText Dtk_CompositeText.
3475  //! \return The ArrowSideWeldSymbolText Dtk_CompositeText.
3477 
3478  //! \brief Retrieves the ArrowSideUndefinedText Dtk_CompositeText.
3479  //! \return The ArrowSideUndefinedText Dtk_CompositeText.
3481 
3482  ///////////////////////Other Side New Texts
3483 
3484  //! \brief Sets the OtherSideDepthText Dtk_CompositeText.
3485  //! \param inOtherSideDepthText The Tail Dtk_CompositeText.
3486  void SetOtherSideDepthText( Dtk_CompositeText inOtherSideDepthText );
3487 
3488  //! \brief Retrieves the OtherSideDepthText Dtk_CompositeText.
3489  //! \return The OtherSideDepthText Dtk_CompositeText.
3491 
3492  //! \brief Sets the OtherSideClearanceText Dtk_CompositeText.
3493  //! \param inOtherSideClearanceText The Tail Dtk_CompositeText.
3494  void SetOtherSideClearanceText( Dtk_CompositeText inOtherSideClearanceText );
3495 
3496  //! \brief Retrieves the OtherSideClearanceText Dtk_CompositeText.
3497  //! \return The OtherSideClearanceText Dtk_CompositeText.
3499 
3500  //! \brief Sets the OtherSideSecondFilletSizeText Dtk_CompositeText.
3501  //! \param inOtherSideSecondFilletSizeText The Tail Dtk_CompositeText.
3502  void SetOtherSideSecondFilletSizeText( Dtk_CompositeText inOtherSideSecondFilletSizeText );
3503 
3504  //! \brief Retrieves the OtherSideSecondFilletSizeText Dtk_CompositeText.
3505  //! \return The OtherSideSecondFilletSizeText Dtk_CompositeText.
3507 
3508  //! \brief Sets the OtherSideSecondFilletLengthText Dtk_CompositeText.
3509  //! \param inOtherSideSecondFilletLengthText The Tail Dtk_CompositeText.
3510  void SetOtherSideSecondFilletLengthText( Dtk_CompositeText inOtherSideSecondFilletLengthText );
3511 
3512  //! \brief Retrieves the OtherSideSecondFilletLengthText Dtk_CompositeText.
3513  //! \return The OtherSideSecondFilletLengthText Dtk_CompositeText.
3515 
3516  //! \brief Sets the OtherSideOpeningText Dtk_CompositeText.
3517  //! \param inOtherSideOpeningText The Tail Dtk_CompositeText.
3518  void SetOtherSideOpeningText( Dtk_CompositeText inOtherSideOpeningText );
3519 
3520  //! \brief Retrieves the OtherSideOpeningText Dtk_CompositeText.
3521  //! \return The OtherSideOpeningText Dtk_CompositeText.
3523 
3524  //! \brief Sets the OtherSideWeldSymbolText Dtk_CompositeText.
3525  //! \param inOtherSideWeldSymbolText The Tail Dtk_CompositeText.
3526  void SetOtherSideWeldSymbolText( Dtk_CompositeText inOtherSideWeldSymbolText );
3527 
3528  //! \brief Retrieves the OtherSideWeldSymbolText Dtk_CompositeText.
3529  //! \return The OtherSideWeldSymbolText Dtk_CompositeText.
3531 
3532  //! \brief Retrieves the OtherSideUndefinedText Dtk_CompositeText.
3533  //! \return The OtherSideUndefinedText Dtk_CompositeText.
3535 };
3536 
3537 //! \ingroup draw
3538 //! \class Dtk_DatumTarget
3539 //! \image html DatumTarget1.png
3540 //! \image html DatumTarget2.png
3541 //! \brief This is the Datum Target
3542 //! \SmartPtr{Dtk_DatumTargetPtr}
3544 {
3545 public:
3547  {
3548  Unknown = 0,
3549  Point = 1,
3550  Linear = 2,
3551  Rectangular = 3,
3552  Circular = 4,
3553  Annular = 5,
3554  Spherical = 6,
3555  Cylindrical = 7,
3556  Arbitrary = 8,
3557 
3558  NumTypes
3559 
3560  };
3562  {
3563  switch( inEnum )
3564  {
3565  default:
3566  case Unknown: return L"Unknown";
3567  case Point: return L"Point";
3568  case Linear: return L"Linear";
3569  case Rectangular: return L"Rectangular";
3570  case Circular: return L"Circular";
3571  case Annular: return L"Annular";
3572  case Spherical: return L"Spherical";
3573  case Cylindrical: return L"Cylindrical";
3574  case Arbitrary: return L"Arbitrary";
3575  }
3576  }
3577 
3579  {
3580  NonMovable = 0,
3581  Movable = 1
3582  };
3584  {
3585  switch( inEnum )
3586  {
3587  default:
3588  case NonMovable: return L"NonMovable";
3589  case Movable: return L"Movable";
3590  }
3591  }
3592 
3594  {
3595  DiameterValue = 0,
3596  InnerDiameterValue = 1,
3597  OuterDiameterValue = 2,
3598  WidthValue = 3,
3599  HeightValue = 4,
3600  StartPointValue = 5,
3601  EndPointValue = 6,
3602  AreaValue = 7,
3603  NumValues
3604  };
3605 
3607  {
3608  switch (inEnum)
3609  {
3610  default:
3611  case DiameterValue: return L"DiameterValue";
3612  case InnerDiameterValue: return L"InnerDiameterValue";
3613  case OuterDiameterValue: return L"OuterDiameterValue";
3614  case WidthValue: return L"WidthValue";
3615  case HeightValue: return L"HeightValue";
3616  case StartPointValue: return L"StartPointValue";
3617  case EndPointValue: return L"EndPointValue";
3618  case AreaValue: return L"AreaValue";
3619  }
3620  }
3621 
3622 protected:
3623  struct Dtk_Handle; // Not defined here
3624  std::unique_ptr<Dtk_Handle> _Private; // Handle
3625  enum
3626  {
3627  _typeID = DTK_TYPE_DATUM_TARGET
3628  };
3629 
3630  //! \sa Create()
3632  //! \sa Create(const Dtk_DatumTarget &)
3635  //! \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 &)
3637  Dtk_CompositeText inBottomText, const Dtk_pnt& inLocationPnt,
3638  const Dtk_InfoPtr& inInfos,
3639  Dtk_tab<Dtk_LeaderPtr> inLeadersArray = Dtk_tab<Dtk_LeaderPtr>(),
3640  const Dtk_Double64& inAngle = 0.0, const Dtk_Double64& inOffSet = 0.0,
3641  const Dtk_bool& inHasFrame = DTK_TRUE,
3642  const Dtk_anchor_type& inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
3643  const Dtk_justication_type& inJustificationType = DTK_JUSTIFY_LEFT);
3644  inline virtual Dtk_Object* Clone() { return new Dtk_DatumTarget(*this); }
3646 
3647 private:
3648  friend class Dtk_SmartPtr<Dtk_DatumTarget>;
3649 public:
3650  //! \DtkDynamicType
3652 
3653  //! \DtkDynamicCast
3655 
3656  //! \CreateBase
3658 
3659  //! \CreateCopy{in}
3661 
3662  //! \brief Calls full featured constructor to allocate a new object.
3663  //! \param inTopText Top text
3664  //! \param inBottomText Bottom text
3665  //! \param inLocationPnt The Dtk_DatumTarget location
3666  //! \param inInfos Dtk_DatumTarget infos
3667  //! \param inLeadersArray Leaders array
3668  //! \param inAngle Angle
3669  //! \param inOffSet Offset
3670  //! \param inHasFrame DTK_TRUE if the Dtk_DatumTarget has frame
3671  //! \param inAnchorType Dtk_DatumTarget anchor type
3672  //! \param inJustificationType Justification type
3673  //! \return The created Dtk_DatumTargetPtr
3675  Dtk_CompositeText inBottomText, const Dtk_pnt &inLocationPnt,
3676  const Dtk_InfoPtr &inInfos,
3678  const Dtk_Double64 &inAngle = 0.0, const Dtk_Double64 &inOffSet = 0.0,
3679  const Dtk_bool &inHasFrame = DTK_TRUE,
3680  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
3681  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
3682 
3683  //! \brief Processes the Dtk_DatumTarget radius
3684  //! \return the processed radius.
3686 
3687  //! \brief Sets the type of the Dtk_DatumTarget.
3688  //! \param inType The Dtk_DatumTarget type
3689  //! \sa GetDatumTargetType() const
3691 
3692  //! \brief Gets the type of the Dtk_DatumTarget.
3693  //! \return The Dtk_DatumTarget type
3694  //! \sa GetDatumTargetType() const
3696 
3697  //! \brief Sets the Movable status of the Dtk_DatumTarget.
3698  //! \param inMovableStatus The Dtk_DatumTarget Movable status
3699  //! \param inMovableGeom The geometry related to the Movable status
3700  //! \sa GetDatumTargetMovableStatus() const
3701  //! \sa GetDatumTargetMovableStatusRelatedGeom() const
3703  Dtk_tab<Dtk_CurvePtr> inMovableGeom );
3704 
3705  //! \brief Gets the Movable status of the Dtk_DatumTarget.
3706  //! \return The Dtk_DatumTarget Movable status
3707  //! \sa SetDatumTargetMovable() const
3709 
3710  //! \brief Gets the geometry related to the Movable status of the Dtk_DatumTarget.
3711  //! \return The tab of Dtk_CurvePtr composing the geometry related to the Movable status
3712  //! \sa SetDatumTargetMovable() const
3714 
3715  //! \brief Retrieves the top text - get/set -
3716  //! \return The top text
3717  //! \sa TopText() const
3719 
3720  //! \brief Sets the optionnal Leader of the Top Text
3721  //! \param inLeader The Dtk_LeaderPtr
3722  //! \sa GetOptionnalTopTextLeader() const
3723  void SetOptionnalTopTextLeader( const Dtk_LeaderPtr & inLeader );
3724 
3725  //! \brief Retrieves optionnal Leader of the Top Text
3726  //! \return The Dtk_LeaderPtr
3727  //! \sa SetOptionnalTopTextLeader()
3729 
3730  //! \brief Retrieves the bottom text - get/set -
3731  //! \return The bottom text
3732  //! \sa BottomText() const
3734 
3735  //! \brief Sets the optionnal Leader of the Bottom Text
3736  //! \param inLeader The Dtk_LeaderPtr
3737  //! \sa GetOptionnalBottomTextLeader() const
3739 
3740  //! \brief Retrieves optionnal Leader of the Bottom Text
3741  //! \return The Dtk_LeaderPtr
3742  //! \sa SetOptionnalBottomTextLeader()
3744 
3745  //! \brief Retrieves the top text - read only -
3746  //! \return The top text
3747  //! \sa TopText()
3748  const Dtk_CompositeText &TopText() const;
3749 
3750  //! \brief Retrieves the bottom text - read only -
3751  //! \return The bottom text
3752  //! \sa BottomText()
3754 
3755  //! \brief Retrieves the frame status - read only -
3756  //! \return The text frame status
3757  //! \sa EnableFrame()
3758  //! \sa DisableFrame()
3759  const Dtk_bool& HasFrame() const;
3760 
3761  //! \brief Enables the frame status
3762  //! \sa HasFrame() const
3763  //! \sa DisableFrame()
3764  void EnableFrame();
3765 
3766  //! \brief Disables the frame status
3767  //! \sa HasFrame() const
3768  //! \sa DisableFrame()
3770 
3771  //! \brief Sets the frame of the Datum Target
3772  //! \param inFrame The Dtk_Frame
3773  //! \sa GetFrame() const
3774  void SetFrame( Dtk_Frame inFrame );
3775 
3776  //! \brief Retrieves the frame of the Datum Target
3777  //! \return The Dtk_Frame
3778  //! \sa SetFrame()
3779  const Dtk_Frame &GetFrame() const;
3780 
3781  //! \brief Retrieves the center point - read only -
3782  //! \return The center point
3783  //! \sa CenterPoint()
3785 
3787 
3788  //Dtk_Annotation interface
3789  //! \brief Processes all the Dtk_DatumTarget anchor points.
3790  //! \param outTabPnts The resulting anchor point array.
3791  //! \return dtkNoError if OK
3793 
3794  //! \brief Processes all the Dtk_DatumTarget anchor points.
3795  //! \param outTabPnts The resulting anchor point array.
3796  //! \return dtkNoError if OK
3798  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
3799 
3800  //! \return The type of the entity type - DTK_TYPE_DATUM_TARGET -
3802  {
3803  return DTK_TYPE_DATUM_TARGET;
3804  }
3805 
3806  //! \brief Sets the Dtk_DatumTarget anchor point.
3807  //! \param inNewLocation The new location point.
3808  //! \param inLocationAnchorType The anchor type related to the new location.
3809  //! \return dtkNoError if OK
3811  const Dtk_anchor_type &inLocationAnchorType);
3812 
3813  //! \brief Sets the location point of the Dtk_DatumTarget
3814  //! \brief The location point is related to the anchor type
3815  //! \param inLocation the location point
3816  //! \return dtkNoError if OK
3818 
3819  //! \brief Sets the offset of the Dtk_DatumTarget
3820  //! \brief The Offset is used to process bounding frames.
3821  //! \param inOffset The offset
3822  //! \return dtkNoError if OK
3823  //! \warning For internal use only
3825 
3826  //! \brief Sets the annotation angle using the annotation base.
3827  //! \param inRotationAngle The rotation angle to be set
3828  //! \return dtkNoError if OK
3830 
3831  //! \brief Swaps the Dtk_DatumTarget texts
3832  //! \return dtkNoError if OK
3834 
3835  //! \brief Retrieves the Dtk_DatumTarget geometries - frame -.
3836  //! \return All the geometries asked.
3838 
3839  //! \brief Reverses the text
3840  //! The text anchor type is replaced by the opposed one
3841  //! and the text orientation is reversed.
3842  //! \return dtkNoError if OK
3844  //! \brief Translates the Dtk_ReferenceBlock - internal use only -.
3845  //! \param inTranslationDir the translation vector.
3846  void Translate(const Dtk_dir &inTranslationDir);
3847 
3848  //! \Transform{inTransfo}
3850 
3851  //! \brief Sets the value associated to DatumTargetValueEnum .
3852  //! \param inValue Set the inValue associated to the inValueEnum
3853  //! \return dtkNoError if OK
3855 
3856  //! \brief Gets the value associated to DatumTargetValueEnum .
3857  //! \param outValue Get the value associated to inValueEnum
3858  //! \return dtkNoError if OK
3860 };
3861 
3862 //! \ingroup draw
3863 //! \class Dtk_OneCell
3864 //! \brief Allows the representation of cell.
3865 //! <P> <B> min_Height: </B> The original height before mergers.</P>
3866 //! <P> <B> min_Width: </B> The original width before mergers.</P>
3867 //! <P> <B> nbCells_Left_Right: </B> Number of adjacent cells to the left or right. </P>
3868 //! <P> <B> nbCells_Top_Bottom: </B> Number of adjacent cells at the top or bottom. </P>
3869 //! \image html OneCell.png
3871 {
3872 protected:
3873  //! The real height (before and after mergers).
3875  //! The real width (before and after mergers).
3877  //! The original height before mergers.
3879  //! The original width before mergers.
3883  //! Defines the anchor texts.
3885  //! Number of adjacent cells to the left or right
3887  //! Number of adjacent cells at the top or bottom
3889  //! Text justification
3891 
3892  // Color of Border Top
3894  // Color of Border Bottom
3896  // Color of Border Left
3898  // Color of Border Right
3900  // Blanked Status of Border Top
3902  // Blanked Status of Border Bottom
3904  // Blanked Status of Border Left
3906  // Blanked Status of Border Right
3908  //! \brief Added geometries for Dtk_OneCell
3910 
3911  enum
3912  {
3913  _typeID = DTK_TYPE_CELL
3914  };
3915 public:
3916  //! Base constructor
3918  //Dtk_OneCell(const double &h, const double &w);
3919 
3920  //! \CopyConstructor{in}
3922  //! \MoveConstructor{in}
3924  //! \AssignmentOp{in}
3926  //! \MoveOp{in}
3928 
3929  //! \BaseDestructor
3931  Dtk_bool HasText() const {return _HasText;}
3932 
3933  //! \DtkDynamicType
3934  Dtk_Int32 DtkDynamicType(const int& inId);
3935 
3936  //! \DtkDynamicCast
3938 
3939 
3940  //! \brief Gets the Dtk_OneCell anchor
3941  //! \return anchor;
3943 
3944  //! \brief Set anchor of text
3945  //! \param inNumberOfAnchor The new number of anchor
3946  void setAnchor(const Dtk_Size_t& inNumberOfAnchor);
3947 
3948  //! \brief Gets the Dtk_OneCell justification
3949  //! \return text justification
3951 
3952  //! \brief Sets justification
3953  //! \param inNewJustification The new Justification
3954  void setJustification(const Dtk_justication_type & inNewJustification);
3955 
3956  //! \brief Gets the Dtk_OneCell nbCells_Left_Right
3957  //! \return nbCells_Left_Right
3959 
3960  //! \brief Sets nbCells_Left_Right
3961  //! \param inNewVal The new int used to set nbCells_Left_Right
3962  void setnbCells_Left_Right(const Dtk_Size_t &inNewVal);
3963 
3964  //! \brief Gets the number of cells at the bottom or left of the Dtk_OneCell
3965  //! \return nbCells_Top_Bottom
3967 
3968  //! \brief Sets nbCells_Top_Bottom
3969  //! \param inNewVal The new int used to set nbCells_Top_Bottom
3970  void setnbCells_Top_Bottom(const Dtk_Size_t& inNewVal);
3971 
3972  //! \brief Sets the text in the Dtk_OneCell
3973  //! \param text The new text used to set _text
3975 
3976  //! \brief Gets the text witch is in the Dtk_OneCell
3977  //! \return _text
3979  const Dtk_CompositeText& GetText() const;
3980 
3981  //! \brief Gets the height of the Dtk_OneCell
3982  //! \return _Height
3984 
3985  //! \brief Sets the Dtk_OneCell height
3986  //! \param inHeight The new height used to set _Height
3987  void setHeight(const Dtk_Double64&inHeight);
3988 
3989  //! \brief Gets the width of the Dtk_OneCell
3990  //! \return _Width
3992 
3993  //! \brief Sets the Dtk_OneCell Width
3994  //! \param inWidth The new width used to set _Width
3995  void setWidth(const Dtk_Double64&inWidth);
3996 
3997  //! \brief Gets the original height
3998  //! \return min_Height
4000 
4001  //! \brief Sets the Dtk_OneCell min_Height
4002  //! \param inHeight The new height used to set min_Height
4003  void set_min_Height(const Dtk_Double64&inHeight);
4004 
4005  //! \brief Gets the original width of the Dtk_Onecell
4006  //! \return min_Width
4008 
4009  //! \brief Sets the Dtk_OneCell min_Width
4010  //! \param inWidth The new width used to set min_Width
4011  void set_min_Width(const Dtk_Double64 &min_Width);
4012 
4013  //! \brief Affects _text to null in order not to read the text which is inside.
4014  void Delete_Text();
4015 
4016  //! \brief Tests if the cell is composed of cells merged horizontally.
4017  //! \return true or false
4019 
4020  //! \brief tests if the cell is composed of cells merged vertically.
4021  //! \return true or false
4023 
4024 
4025  //! \brief Sets BorderTopColor of Top border
4026  //! \param inBorderTopColor : color of the Top border
4027  void SetBorderTopColor(const Dtk_Int32 & inBorderTopColor);
4028  void SetBorderTopColor(const Dtk_RGB & inBorderTopColor);
4029 
4030  //! \brief Gets BorderTopColor of Top border
4031  //! \return BorderTopColor
4032  const Dtk_RGB& GetBorderTopColor() const;
4033 
4034  //! \brief Sets BorderBottomColor of Bottom border
4035  //! \param inBorderBottomColor : color of the Bottom border
4036  void SetBorderBottomColor(const Dtk_Int32 & inBorderBottomColor);
4037  void SetBorderBottomColor(const Dtk_RGB & inBorderBottomColor);
4038 
4039  //! \brief Gets BorderBottomColor of Bottom border
4040  //! \return BorderBottomColor
4042 
4043  //! \brief Sets BorderLeftColor of Left border
4044  //! \param inBorderLeftColor : color of the Left border
4045  void SetBorderLeftColor(const Dtk_Int32 & inBorderLeftColor);
4046  void SetBorderLeftColor(const Dtk_RGB & inBorderLeftColor);
4047 
4048  //! \brief Gets BorderLeftColor of Left border
4049  //! \return BorderLeftColor
4050  const Dtk_RGB& GetBorderLeftColor() const;
4051 
4052  //! \brief Sets BorderRightColor of Right border
4053  //! \param inBorderRightColor : color of the Right border
4054  void SetBorderRightColor(const Dtk_Int32 & inBorderRightColor);
4055  void SetBorderRightColor(const Dtk_RGB & inBorderRightColor);
4056 
4057  //! \brief Gets BorderRightColor of Right border
4058  //! \return BorderRightColor
4060 
4061 
4062  //! \brief Sets BorderTopBlanked of Top border
4063  //! \param inBorderTopBlanked : Blanked Status of the Top border
4064  void SetBorderTopBlanked(const Dtk_Int32 & inBorderTopBlanked);
4065 
4066  //! \brief Gets BorderTopBlanked of Top border
4067  //! \return BorderTopBlanked DTK_TRUE is blanked
4069 
4070  //! \brief Sets BorderBottomBlanked of Bottom border
4071  //! \param inBorderBottomBlanked : Blanked Status of the Bottom border
4072  void SetBorderBottomBlanked(const Dtk_Int32 & inBorderBottomBlanked);
4073 
4074  //! \brief Gets BorderBottomBlanked of Bottom border
4075  //! \return BorderBottomBlanked DTK_TRUE is blanked
4077 
4078  //! \brief Sets BorderLeftBlanked of Left border
4079  //! \param inBorderLeftBlanked : Blanked Status of the Left border
4080  void SetBorderLeftBlanked(const Dtk_Int32 & inBorderLeftBlanked);
4081 
4082  //! \brief Gets BorderLeftBlanked of Left border
4083  //! \return BorderLeftBlanked DTK_TRUE is blanked
4085 
4086  //! \brief Sets BorderRightBlanked of Right border
4087  //! \param inBorderRightBlanked : Blanked Status of the Right border
4088  void SetBorderRightBlanked(const Dtk_Int32 & inBorderRightBlanked);
4089 
4090  //! \brief Gets BorderRightBlanked of Right border
4091  //! \return BorderRightBlanked DTK_TRUE is blanked
4093 
4094  //! \brief Adds some additionnal geometries to the Dtk_OneCell
4095  //! \param inAdditionnalGeometries The geometries to be added
4096  void AddAdditionnalGeometries( Dtk_tab<Dtk_EntityPtr> inAdditionnalGeometries);
4097 
4098  //! \brief Retrieves the additionnal geometries of the Dtk_OneCell
4099  //! \return The additionnal geometries array - read only -.
4101 
4102 };
4103 
4104 //! \ingroup draw
4105 //! \class Dtk_Table
4106 //! \brief Represents the tables
4107 //! <P> <B> nbCells_Line : </B> number of cells on each line (if we consider mergers).</P>
4108 //! <P> <B> nbCells_Col : </B> number of cells on each column (if we consider mergers).</P>
4109 //! <P> <B> Example: </B> </P>
4110 //! \image html TableOfCell.png
4111 //! \sa Dtk_OneCell
4112 //! \SmartPtr{Dtk_TablePtr}
4114 {
4115 protected:
4116  //! \brief A table of cells
4118  //! \brief Number of lines
4120  //! \brief Number of columns
4122  //! \brief number of cells on each line (if we consider mergers)
4124  //! \brief number of cells on each column (if we consider mergers)
4126  enum
4127  {
4128  _typeID = DTK_TYPE_TABLE
4129  };
4130 
4132  //! \sa Create(const Dtk_Table &)
4133  Dtk_Table(const Dtk_Table &tab);
4135  //! \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();
4136  Dtk_Table(const Dtk_Int32 &inNumRows,
4137  const Dtk_Int32 &inNumCols,
4138  const Dtk_pnt &inLocationPnt = Dtk_pnt(0,0,0),
4139  const Dtk_Double64 &inAngle = 0.0,
4140  const Dtk_InfoPtr &infos = NULL,
4142  const Dtk_Double64 &inOffSet = 0.0,
4143  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
4144  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
4146 
4147  inline virtual Dtk_Object* Clone() { return new Dtk_Table(*this); }
4148  const Dtk_OneCell * operator[](const Dtk_Size_t &inPos) const;
4150  void _CheckRowCol(const Dtk_Size_t inRow, const Dtk_Size_t inCol) const;
4151 private:
4152  friend class Dtk_SmartPtr<Dtk_Table>;
4153 public:
4154 
4155  //! \DtkDynamicType
4157 
4158  //! \DtkDynamicCast
4160 
4161  //! \brief CreateCopy{in}
4162  static Dtk_TablePtr Create(const Dtk_Table& in);
4163 
4164  //! \brief Calls full featured constructor to allocate a new object.
4165  //! \param inNumRows Rows number in the Dtk_Table
4166  //! \param inNumCols Columns number in the Dtk_Table
4167  //! \param inLocationPnt The Dtk_Table location
4168  //! \param inAngle Angle
4169  //! \param inInfos Dtk_Table infos
4170  //! \param inLeadersArray Leaders array
4171  //! \param inOffSet Offset
4172  //! \param inAnchorType Dtk_Table anchor type
4173  //! \param inJustificationType Justification type
4174  //! \return The created Dtk_TablePtr
4175  static Dtk_TablePtr Create(const Dtk_Int32 &inNumRows,
4176  const Dtk_Int32 &inNumCols,
4177  const Dtk_pnt &inLocationPnt = Dtk_pnt(0,0,0),
4178  const Dtk_Double64 &inAngle = 0.0,
4179  const Dtk_InfoPtr &infos = NULL,
4181  const Dtk_Double64 &inOffSet = 0.0,
4182  const Dtk_anchor_type &inAnchorType = DTK_ANCHOR_BOTTOM_LEFT,
4183  const Dtk_justication_type &inJustificationType = DTK_JUSTIFY_LEFT);
4184 
4185  //! \brief Gets the number of rows in Dtk_Table
4186  //! \return the number of rows
4188 
4189  //! \brief Gets the number of colums in Dtk_Table
4190  //! \return the number of columns
4192 
4193  //! \param inRow Line number
4194  //! \param inCol Column number
4195  //! \return tableOfCell[i][j]
4196  inline Dtk_OneCell& getCell( const Dtk_Size_t &inRow, const Dtk_Size_t &inCol)
4197  {
4198 #ifdef _DEBUG_DTK
4199  _CheckRowCol( inRow, inCol);
4200 #endif
4201  return operator[](inRow)[inCol];
4202  }
4203  inline const Dtk_OneCell& getCell( const Dtk_Size_t &inRow, const Dtk_Size_t &inCol) const
4204  {
4205 #ifdef _DEBUG_DTK
4206  _CheckRowCol( inRow, inCol);
4207 #endif
4208  return operator[](inRow)[inCol];
4209  }
4210 
4211  //! \brief Sets the (inRowIdx,inColIdx)th text.
4212  //! \param inRowIdx Line index - 0 based -
4213  //! \param inColIdx column index - 0 based -
4214  //! \param inText Text be put.
4215  void Set_Texts(const Dtk_Size_t &inRowIdx, const Dtk_Size_t &inColIdx,
4216  Dtk_CompositeText inText);
4217 
4218  //! \brief Gets the number of cells in each line
4219  //! \return the number of cells in each line
4220  const Dtk_Size_t& Cell_Line(const Dtk_Size_t inPos) const;
4221 
4222  //! \brief Sets the number of cells of the (i)th line
4223  //! \param i Line number
4224  //! \param inNewVal The new number witch represents the number of cell of the ith row
4226 
4227  //! \brief Gets the number of cells in each column
4228  //! \return the number of cells in each column
4229  const Dtk_Size_t& Cell_Col(const Dtk_Size_t inPos) const;
4230 
4231  //! \brief Sets the number of cells of the ith columns
4232  //! \param i Column number
4233  //! \param inNewVal The new number witch represents the number of cell of the ith Column
4235 
4236 
4237  //! \brief Gets the Dtk_Table rows number.
4238  //! \return The rows number.
4240 
4241  //! \brief Gets the Dtk_Table columns number.
4242  //! \return The columns number.
4244 
4245  //! \return The type of the entity type - DTK_TYPE_TABLE-
4247 
4248  //! \brief Gets the (i,j)th text - get/set -.
4249  //! \param inRow Text row index - 0 based -
4250  //! \param inCol Text column index - 0 based -
4251  //! \return The (inRow, inCol)th text.
4252  //! \sa Text(const Dtk_Size_t &, const Dtk_Size_t &) const
4253  //! \sa SetText(const Dtk_Size_t &, const Dtk_Size_t &, const Dtk_CompositeText &)
4254  const Dtk_CompositeText& Text(const Dtk_Size_t &inRow,
4255  const Dtk_Size_t &inCol) const;
4256 
4257  Dtk_CompositeText& Text(const Dtk_Size_t &inRow, const Dtk_Size_t &inCol);
4258 
4259  //! \brief Processes all the Dtk_Annotation anchor points.
4260  //! \param outTabPnts The resulting anchor point array.
4261  //! \return dtkNoError if OK
4263  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const ;
4264 
4265  //! \brief Sets the Dtk_Annotation anchor point.
4266  //! \param inNewLocation The new location point.
4267  //! \param inLocationAnchorType The anchor type related to the new location.
4268  //! \return dtkNoError if OK
4270  const Dtk_anchor_type &inLocationAnchorType);
4271 
4272  //! \brief Sets the location point of the Dtk_Annotation
4273  //! \brief The location point is related to the anchor type
4274  //! \param inLocation the location point
4275  //! \return dtkNoError if OK
4277 
4278  //! \brief Sets the offset of the Dtk_Annotation
4279  //! \brief The Offset is used to process bounding frames.
4280  //! \param inOffset The offset
4281  //! \return dtkNoError if OK
4283 
4284  //! \brief Sets the annotation angle using the annotation base.
4285  //! \param inRotationAngle The rotation angle to be set
4286  //! \return dtkNoError if OK
4288 
4289  //! \brief Processes internal annotation placement - internal use only -
4290  //! \return dtkNoError if OK
4292 
4293  //! \Transform{inTransfo}
4295 };
4296 
4297 //! \ingroup draw
4298 //! \class Dtk_Grid
4299 //! \brief Represents the grids
4300 //! <P> <B> Example: </B> </P>
4301 //! <P> Here is a grid with 3 minor lines per major in U and V directions </P>
4302 //! \image html Dtk_Grid.png
4303 //! \SmartPtr{Dtk_GridPtr}
4304 class Dtk_Grid : public Dtk_Annotation //Dtk_2dEntity
4305 {
4306 protected:
4307  struct Dtk_Handle; // Not defined here
4308  std::unique_ptr<Dtk_Handle> _Private; // Handle
4309  enum
4310  {
4311  _typeID = DTK_TYPE_GRID
4312  };
4313 
4314 public:
4316  {
4319  Always
4320  };
4321 
4323  {
4326  Local
4327  };
4328 
4329 protected:
4330  //! \BaseConstructor
4332 
4333  //! \sa Create(const Dtk_Grid &)
4334  Dtk_Grid( const Dtk_Grid &grid );
4336  Dtk_Grid(const Dtk_Oriented2dBBox &inUVBBox,
4337  const Dtk_Double64 &inUSpacing,
4338  const Dtk_Double64 &inVSpacing,
4339  const Dtk_Int32 &inUMinorPerMajor,
4340  const Dtk_Int32 &inVMinorPerMajor,
4341  //style
4342  const Dtk_RGB &inLineColor,
4343  const Dtk_FontLineType &inMajorLineStyle,
4344  const Dtk_FontLineType &inMinorLineStyle,
4345  const Dtk_Double64 &inMajorLineWidth,
4346  const Dtk_Double64 &inMinorLineWidth,
4347  const Dtk_bool &inDisplayGridOpt,
4348  const Dtk_bool &inDisplayOnTopOpt,
4349  const Dtk_bool &inDisplayMajorLinesOpt,
4350  const ShowLabelOption &inShowLabelOpt,
4351  const OriginReferenceOption &inOriginReferenceOpt,
4352  const Dtk_Double64 &inConceptionUnit);
4354 
4355  inline virtual Dtk_Object* Clone() { return new Dtk_Grid(*this); }
4356 
4357 private:
4358  friend class Dtk_SmartPtr<Dtk_Grid>;
4359 
4360 
4361  Dtk_Double64 GetConceptionUnit() const;
4362  Dtk_bool GetDrawLabelsInOriginUnitOption() const;
4363 public:
4364 
4365  //! \DtkDynamicType
4367 
4368  //! \DtkDynamicCast
4370  //! \brief CreateCopy{in}
4371  static Dtk_GridPtr Create( const Dtk_Grid& in );
4372 
4373  //! \brief Calls full featured constructor to allocate a new object.
4374  //! \param inUVBBox Bounding box of the grid
4375  //! \param inUSpacing U spacing between lines
4376  //! \param inVSpacing v spacing between lines
4377  //! \param inUMinorPerMajor U number of minor lines per major lines
4378  //! \param inVMinorPerMajor V number of minor lines per major lines
4379  //! \param inLineColor Grid Color
4380  //! \param inMajorLineStyle Major lines style
4381  //! \param inMinorLineStyle Minor lines style
4382  //! \param inMajorLineWidth Major lines width
4383  //! \param inMinorLineWidth Minor lines width
4384  //! \return The created Dtk_GridPtr
4385  static Dtk_GridPtr Create(const Dtk_Oriented2dBBox &inUVBBox,
4386  const Dtk_Double64 &inUSpacing,
4387  const Dtk_Double64 &inVSpacing,
4388  const Dtk_Int32 &inUMinorPerMajor = 1,
4389  const Dtk_Int32 &inVMinorPerMajor = 1,
4390  //style
4391  const Dtk_RGB &inLineColor = Dtk_RGB(),
4392  const Dtk_FontLineType &inMajorLineStyle = DTK_NO_PATTERN,
4393  const Dtk_FontLineType &inMinorLineStyle = DTK_NO_PATTERN,
4394  const Dtk_Double64 &inMajorLineWidth = 1.0,
4395  const Dtk_Double64 &inMinorLineWidth = 1.0,
4396  const Dtk_bool &inDisplayGridOpt = DTK_TRUE,
4397  const Dtk_bool &inDisplayOnTopOpt = DTK_TRUE,
4398  const Dtk_bool &inDisplayMajorLinesOpt = DTK_FALSE,
4399  const ShowLabelOption &inShowLabelOpt = Dtk_Grid::Always,
4400  const OriginReferenceOption &inOriginReferenceOpt = Dtk_Grid::Local,
4401  const Dtk_Double64 &inConceptionUnit = 1.0);
4402 
4403  //! \brief Gets the 2d bbox of the grid
4404  //! \return the bbox
4406 
4407  //! \brief Gets U spacing between lines
4408  //! \return U spacing
4410 
4411  //! \brief Gets V spacing between lines
4412  //! \return V spacing
4414 
4415  //! \brief Gets U minor lines per major
4416  //! \return U number of minor lines per major
4418 
4419  //! \brief Gets V minor lines per major
4420  //! \return V number of minor lines per major
4422 
4423  //! \brief Gets the major line font line type
4424  //! \return the major line font line type
4426 
4427  //! \brief Gets the minor line font line type
4428  //! \return the minor line font line type
4430 
4431  //! \brief Gets the major line width
4432  //! \return the major line width
4434 
4435  //! \brief Gets the minor line width
4436  //! \return the minor line width
4438 
4439  //! \brief Gets the display grid option
4440  //! \return the display grid option
4441  //! \return DTK_TRUE if grid is visible
4442  //! \return DTK_FALSE if grid is invisible
4444 
4445  //! \brief Gets the display on top option
4446  //! \return the display on top option
4447  //! \return DTK_TRUE if grid stays on top of other entities,
4448  //! \return DTK_FALSE if it is hidden by other entities displayed in front of it
4450 
4451  //! \brief Gets the display major lines option
4452  //! \return the display major lines option
4453  //! \return DTK_TRUE if displays major lines with style
4454  //! \return DTK_FALSE if all major and minor have same style
4456 
4457  //! \brief Gets the display show labels option
4458  //! \return the display show labels option
4459  //! \returns an enum indicating wether labels are hidden(None),
4460  //! \stays parallel to screen(ParallelToView) or displayed in grid plane(Always)
4462 
4463  //! \brief Gets the display origin reference option
4464  //! \return the display origin reference option
4465  //! \returns an enum indicating wether the origin of the grid is given in Absolute coordinates (Absolute),
4466  //! \in World Coordinate System (WCS) coordinates or in Local coordinates (Local)
4468 
4469 
4470  //! \return The type of the entity type - DTK_TYPE_GRID-
4472 
4473  //! \brief Draws Labels in millimeters or in origin unit
4474  //! \param inVal : Draws Labels in millimeters (DTK_FALSE) or in origin unit (DTK_TRUE)
4475  //! \remark : by default labels will be drawn in millimeters
4477 
4478  //! \brief Processes all the Dtk_Annotation anchor points.
4479  //! \param outTabPnts The resulting anchor point array.
4480  //! \return dtkNoError if OK
4482  Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
4483 
4484  //! \brief Sets the Dtk_Annotation anchor point.
4485  //! \param inNewLocation The new location point.
4486  //! \param inLocationAnchorType The anchor type related to the new location.
4487  //! \return dtkNoError if OK
4489  const Dtk_anchor_type &inLocationAnchorType);
4490 
4491  //! \brief Sets the location point of the Dtk_Annotation
4492  //! \brief The location point is related to the anchor type
4493  //! \param inLocation the location point
4494  //! \return dtkNoError if OK
4496 
4497  //! \brief Sets the offset of the Dtk_Annotation
4498  //! \brief The Offset is used to process bounding frames.
4499  //! \param inOffset The offset
4500  //! \return dtkNoError if OK
4502 
4503  ////! \brief Sets the annotation angle using the annotation base.
4504  ////! \param inRotationAngle The rotation angle to be set
4505  ////! \return dtkNoError if OK
4506  //Dtk_ErrorStatus SetRotationAngle(const Dtk_Double64 &inRotationAngle);
4507 
4508  ////! \brief Processes internal annotation placement - internal use only -
4509  ////! \return dtkNoError if OK
4510  //Dtk_ErrorStatus ProcessTextsPlacement();
4511 
4512  //! \Transform{inTransfo}
4514 
4515  //! \brief Retrieves the Dtk_Grid geometries.
4516  //! \return All the associated geometries asked.
4518 
4519  //! \brief Retrieves the Dtk_Grid labels.
4520  //! \return All the labels as composite texts.
4522 };
4523 
4524 
4525 
4526 //! \ingroup draw
4527 //! \class Dtk_Dimension
4528 //! \brief This is the general dimension
4529 //! \SmartPtr{Dtk_DimensionPtr}
4531 {
4532 public:
4534  //! \image html LinearDimension.png
4535  LinearDimension = 0,
4536  //! \image html AngularDimension.png
4538  //! \image html CurvilinearDimension.png
4540  //! \image html DiameterDimension.png
4542  //! \image html LinearDiameterDimension.png
4544  //! \image html RadiusDimension.png
4546  //! \image html LinearRadiusDimension.png
4548  //! \image html CumulatedDimension.png
4550  //! \image html ChamferDimension.png
4552  //! \image html LinearDimension.png
4554  //! \image html LinearDimension.png
4555  LengthDimension
4556  };
4558  BasicTypeNone = 0,
4562  BasicTypeOblong
4563  };
4564 
4566  ShowDualValueNone = 0,
4569  ShowDualValueSydeBySide
4570  };
4571 protected:
4572  struct Dtk_Handle; // Not defined here
4573  std::unique_ptr<Dtk_Handle> _Private; // Handle
4574  enum {
4575  _typeID = DTK_TYPE_DIMENSION
4576  };
4578  //! \sa Create()
4580  //! \sa Create(const Dtk_Dimension &)
4583  Dtk_Dimension(const DimensionTypeEnum &inDimensionType,
4584  Dtk_CompositeText inTexts);
4585  inline virtual Dtk_Object* Clone() { return new Dtk_Dimension(*this); }
4586 
4587 private:
4588  friend class Dtk_SmartPtr<Dtk_Dimension>;
4589 public:
4590  // Downcasting
4591  //! \DtkDynamicType
4593 
4594  //! \DtkDynamicCast
4596 
4597  //! \CreateBase
4599 
4600  //! \CreateCopy{in}
4602 
4603  //! \brief Calls full featured constructor to allocate a new object.
4604  //! \param inDimensionType The Dtk_Dimension type
4605  //! \param inTexts The Dtk_Dimension texts
4606  static Dtk_DimensionPtr Create(const DimensionTypeEnum &inDimensionType,
4607  Dtk_CompositeText inTexts);
4608 
4609  //! \brief Adds a leader with an extension line to the Dtk_Dimension
4610  //! \param inLeader the leader to add
4611  //! \param inExtensionLine The additional extension line - optional -
4612  //! \return DtkNoError if OK.
4613  //! \remark This function is used for backward compatibility only.
4614  //! \sa AddLeaderWithExtensionLine(const Dtk_LeaderPtr &, const Dtk_tab<Dtk_pnt> &)
4615  //! \deprecated Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead
4616  SetAsDeprecated( "2025.4", "Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead" )
4617  Dtk_ErrorStatus AddLeaderWithExtensionLine_Deprecated254(
4618  const Dtk_LeaderPtr &inLeader,
4619  Polyline_detk* const &inExtensionLine);
4620 
4621  //! \brief Adds a leader with an extension line to the Dtk_Dimension.
4622  //! \param inLeader the leader to add.
4623  //! \param inExtensionLinePnts The additional extension line - optional - in points array form.
4624  //! \return DtkNoError if OK.
4625  //! \deprecated Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead
4626  SetAsDeprecated( "2025.4", "Use Dtk_ErrorStatus Dtk_Leader::SetExtensionLine(const Dtk_PolylinePtr &) and Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader ) instead" )
4627  Dtk_ErrorStatus AddLeaderWithExtensionLine_Deprecated254(const Dtk_LeaderPtr &inLeader,
4628  const Dtk_tab<Dtk_pnt> &inExtensionLinePnts);
4629 
4630  //! \brief Adds a leader to the Dtk_Dimension.
4631  //! \param inLeader The leader to add.
4632  //! \return DtkNoError if OK.
4633  Dtk_ErrorStatus AddLeader( const Dtk_LeaderPtr& leader );
4634 
4635  //! \return The type of the entity type - DTK_TYPE_DIMENSION -.
4636  type_detk get_type_detk() const
4637  {
4638  return DTK_TYPE_DIMENSION;
4639  }
4640 
4641  //! \brief Adds text to the Dtk_Dimension text.
4642  //! \param inText Text to be added.
4643  //! \return DtkNoError if OK.
4645 
4646  //! \brief Retrieves the Dtk_Dimension text - read only -.
4647  //! \return The Dtk_Dimension text.
4648  const Dtk_CompositeText& GetTexts() const;
4649 
4650  //! \brief Retrieves the leaders number - read only -.
4651  //! \return The Dtk_Dimension leaders number.
4653 
4654  //! \brief Retrieves the extension lines number - read only -.
4655  //! \return The number of Dtk_Dimension leaders having an extension line.
4656  //! \deprecated Use Dtk_LeaderPtr GetNumLeaders() and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead
4657  SetAsDeprecated( "2025.4", "Use Dtk_LeaderPtr GetNumLeaders() and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead" )
4658  Dtk_Size_t GetNumExtensionLines_Deprecated254() const;
4659 
4660  //! \brief Retrieves the ith leader - read only -.
4661  //! \param inPos The leader index.
4662  //! \return The ith leader.
4663  Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) const;
4664 
4665  //! \brief Retrieves the ith extension line found in the leaders - read only -.
4666  //! \param inPos The extension line index.
4667  //! \return The ith extension line as a Dtk_CurvePtr.
4668  //! \deprecated Use Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead
4669  SetAsDeprecated( "2025.4", "Use Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead" )
4670  Dtk_CurvePtr GetExtensionLineAsCurve_Deprecated254(const Dtk_Size_t &inPos) const;
4671 
4672  //! \brief Retrieves the Dtk_Dimension type - read only -.
4673  //! \return The Dtk_Dimension type.
4674  DimensionTypeEnum GetDimensionType() const;
4675 
4676  //! \brief Converts the ith extension line found in the leaders into geometrical elements.
4677  //! \param inExtLinePos The extension line index.
4678  //! \param outGeomsArray The geometrical elements array to populate.
4679  //! \return dtkErrorNullPointer if there is less than [inExtLinePos + 1] extension lines, dtkNoError otherwise.
4680  //! \deprecated Use Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead
4681  SetAsDeprecated( "2025.4", "Use Dtk_LeaderPtr GetLeader(const Dtk_Size_t &inPos) and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead" )
4682  Dtk_ErrorStatus ConvertExtensionLineToGeometries_Deprecated254(
4683  const Dtk_Size_t &inExtLinePos,
4684  Dtk_tab<Dtk_CurvePtr> &outGeomsArray) const;
4685 
4686  //! \brief Gets the extra geometrical elements number - read only -.
4687  //! \return The extra geometrical elements number.
4688  Dtk_Size_t GetNumExtraGeometries() const;
4689 
4690  //! \brief Gets the ith extra geometrical element - read only -
4691  //! \param inPos The extra geometrical element index.
4692  //! \return The extra geometrical element.
4693  Dtk_CurvePtr GetExtraGeometryAsCurve(const Dtk_Size_t &inPos) const;
4694 
4695  //! \brief Set the Dtk_Dimension Basic status type - set only -.
4696  //! \sa SetBasicDimensionType()
4697  void SetBasicDimensionType(const BasicDimensionTypeEnum& inBasicDimensionTypeEnum) const;
4698 
4699  //! \brief Get the Dtk_Dimension Basic status type with its Geometries definition- get only -.
4700  //! \return The Dtk_Dimension basic status type.
4701  //! \sa GetBasicDimensionType()
4702  BasicDimensionTypeEnum& GetBasicDimensionType() const ;
4703 
4704  //! \brief Set the Dtk_Dimension Basic status type with its Geometries definition- set only -.
4705  //! \sa SetBasicDimensionType()
4706  void SetBasicDimensionType(const BasicDimensionTypeEnum& inBasicDimensionTypeEnum, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements) const;
4707 
4708  //! \brief Get the Dtk_Dimension Basic status type - get only -.
4709  //! \return The Dtk_Dimension basic status type.
4710  //! \sa GetBasicDimensionType()
4711  BasicDimensionTypeEnum& GetBasicDimensionType(Dtk_tab< Dtk_CurvePtr >& inRelatedGeomElements) const ;
4712 
4713  //! \brief Retrieves the Dtk_Dimension Basic status type - read only -.
4714  //! \return The Dtk_Dimension basic status type.
4715  //! \sa BasicDimensionType()
4716  const BasicDimensionTypeEnum& BasicDimensionType() const;
4717 
4718  //! \brief Retrieves the Dtk_Dimension Basic status type - get/set -.
4719  //! \return The Dtk_Dimension basic status type.
4720  //! \sa BasicDimensionType() const
4721  BasicDimensionTypeEnum& BasicDimensionType();
4722 
4723  //! \brief Retrieves the Dtk_Dimension show dual value type - read only -.
4724  //! \return The Dtk_Dimension show dual type such as Below, Fractional, or Side-by-Side.
4725  //! \sa ShowDualValueType() const
4726  const ShowDualValueTypeEnum& ShowDualValueType() const;
4727 
4728  //! \brief Retrieves the Dtk_Dimension show dual value type - get/set -.
4729  //! \return The Dtk_Dimension show dual type such as Below, Fractional, or Side-by-Side.
4730  //! \sa ShowDualValueType()
4731  ShowDualValueTypeEnum& ShowDualValueType();
4732 
4733  Dtk_ErrorStatus GetTextVerticalOffSet(double& outOffSet);
4734  Dtk_ErrorStatus GetTextRefPoint(Dtk_pnt& outRefPnt);
4735 
4736  //! \Transform{inTransfo}
4738 
4739  //! \brief Tells if the Dtk_Dimension is a Fake one or not.
4740  //! \return DTK_TRUE if it's a fake Dimension, DTK_FALSE else.
4741  //! \sa SetFakeDimensionStatus()
4742  Dtk_bool IsFakeDimension() const;
4743 
4744  //! \brief Sets the Fake Dimension Status.
4745  //! \param inIsFakeDimension DTK_TRUE if it's a fake Dimension, DTK_FALSE else.
4746  //! \sa IsFakeDimension()
4747  void SetFakeDimensionStatus(const Dtk_bool inIsFakeDimension);
4748 
4749  //! \brief Set the Dtk_Dimension frame information - get/set -
4750  //! \return The Dtk_Dimension frame type
4751  //! \sa FrameType() const
4752  void SetFrameType( const Dtk_frame_type& inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements);
4753 
4754  //! \brief Retrieves the Frame - read only -
4755  //! \param outFrame The frame
4756  //! \sa FrameType() const
4757  void GetFrame(Dtk_Frame& outFrame) const;
4758 
4759 
4760  //! \brief Remove leader-
4761  void ClearLeader();
4762 
4763 };
4764 
4765 //! \ingroup draw
4766 //! \class Dtk_ReferenceBlock
4767 //! \image html Dtk_ReferenceBlock.png
4768 //! \brief This is the Dtk_ReferenceBlock Class.\n
4769 //! It is part of the Dtk_ReferenceFrame entity.
4770 //! \SmartPtr{Dtk_ReferenceBlockPtr}
4772 {
4773 protected:
4774  struct Dtk_Handle; // Not defined here
4775  std::unique_ptr<Dtk_Handle> _Private; // Handle
4776  enum {
4777  _typeID = DTK_TYPE_REFERENCE
4778  };
4779  //! \sa Create( const Dtk_Oriented2dBBox& , const Dtk_Oriented2dBBox& )
4781  const Dtk_Oriented2dBBox& inOuterBBox);
4782 
4783  //! \sa Create( const Dtk_ReferenceBlock & )
4787 
4788  //! \DtkInternal
4790  const DTK_FDT_MODIFIER &inMaterialModifier);
4791  //! \DtkInternal
4792  void _ReplaceFirstMaterialModifer(const Dtk_Size_t &inReferencePos,
4793  const DTK_FDT_MODIFIER &inMaterialModifier);
4794  inline virtual Dtk_Object* Clone() { return new Dtk_ReferenceBlock(*this); }
4795 
4796 private:
4797  friend class Dtk_SmartPtr<Dtk_ReferenceBlock>;
4798 public:
4799 
4800  //! \brief Add a reference to the Dtk_ReferenceBlock.
4801  //! \param inReferenceLabel The reference label.
4802  //! \param inMaterialModifier The reference material modifier.
4803  //! \param inLinkedFdt The FDT to be linked - NULL by default -.
4804  //! \return DtkNoError if OK.
4806  const DTK_FDT_MODIFIER &inMaterialModifier = DTK_FDT_MODIFIER_NONE,
4807  const Dtk_FdtPtr &inLinkedFdt = NULL);
4808 
4809  //! \brief Add a reference to the Dtk_ReferenceBlock.
4810  //! \param inFullTextWithMaterialCondition The reference label.\n May contain also material modifier.
4811  //! \param inLinkedFdt The FDT to be linked - NULL by default -.
4812  //! \return DtkNoError if OK.
4813  Dtk_ErrorStatus AddReference( Dtk_string inFullTextWithMaterialCondition,
4814  const Dtk_FdtPtr &inLinkedFdt);
4815 
4816  //! \DtkDynamicType
4818 
4819  //! \DtkDynamicCast
4821 
4822 // //! \DtkInternal
4823 // void _PropagateOrientation(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
4824 
4825  //! \brief Calls full featured constructor to allocate a new object.
4827  const Dtk_Oriented2dBBox& inInnerBBox,
4828  const Dtk_Oriented2dBBox& inOuterBBox);
4829 
4830  //! \CreateCopy{in}
4832 
4833  //! \brief Full featured constructor.
4834  //! \param inFullTextWithMaterialCondition The Transformation Matrix
4835  //! \param inLinkedFdt The FDT to be linked.
4836  //! \return the created Dtk_ReferenceBlockPtr
4837  //static Dtk_ReferenceBlockPtr Create(
4838  // const Dtk_Text &inFullTextWithMaterialCondition,
4839  // const Dtk_FdtPtr &fdt);
4840  //
4841  ////! \brief Full featured constructor with one first reference.
4842  ////! \param inLabel The first reference label
4843  ////! \param inMaterialModifier The first reference material modifier.
4844  ////! \param inLinkedFdt The FDT to be linked.
4845  ////! \return the created Dtk_ReferenceBlockPtr
4846  //static Dtk_ReferenceBlockPtr Create(const Dtk_Text &inLabel,
4847  // const DTK_FDT_MODIFIER &inMaterialModifier = DTK_FDT_MODIFIER_NONE,
4848  // const Dtk_FdtPtr &inLinkedFdt = Dtk_FdtPtr(NULL));
4849 
4850  //! \brief Retrieves the ith reference label - read only -.
4851  //! \param inReferencePos The reference index
4852  //! \return the ith reference label
4853  //! \sa GetReferenceLabel(const Dtk_Size_t &)
4854  const Dtk_string& GetReferenceLabel(const Dtk_Size_t &inReferencePos) const;
4855 
4856  //! \brief Retrieves the material modifier related to the ith reference.
4857  //! \param inReferencePos The reference index.
4858  //! \return the related material modifier.
4859  DTK_FDT_MODIFIER GetMaterialModifier(const Dtk_Size_t &inReferencePos) const;
4860 
4861  //! \brief Retrieves the Linked Fdt
4862  //! \return The linked Fdt
4863  Dtk_FdtPtr GetLinkedtFdt(const Dtk_Size_t &inReferencePos) const;
4864 
4865  //! \brief Converts the Dtk_ReferenceBlock into a Dtk_string - used for Dtk_Symbol conversion -
4866  //! \return The converted Dtk_string
4868 
4869  //! \brief Sets the Dtk_ReferenceBlock anchor point.
4870  //! \param inNewLocation The new location point.
4871  //! \param inLocationAnchorType The anchor type related to the new location.
4872  //! \param inOffSet For internal use only.
4873  //! \return dtkNoError if OK
4875  const Dtk_pnt &inNewLocation,
4876  const Dtk_anchor_type &inLocationAnchorType=DTK_ANCHOR_BOTTOM_LEFT,
4877  const Dtk_Double64 &inOffSet = 0.0);
4878 
4879  //! \brief Processes all the Dtk_ReferenceBlock anchor points.
4880  //! \param outTabPnts The resulting anchor point array.
4881  //! \param inOffSet - internal use only -.
4882  //! \return dtkNoError if OK
4884  Dtk_pnt (&outTabPoints)[DTK_NB_ANCHOR_TYPES],
4885  const Dtk_Double64 &inOffSet = 0.0) const;
4886 
4887  //! \brief Retrieves the references number.
4888  //! \return The number of references included into the Dtk_ReferenceBlock.
4890 
4891  //! \brief Translates the Dtk_ReferenceBlock - internal use only -.
4892  //! \param inTranslationDir the translation vector.
4893  void Translate(const Dtk_dir &inTranslationDir);
4894 
4895  //! \Transform{inTransfo}
4897 
4899 
4900  //! \brief Set the outer Bounding Box.
4901  //! \param inOuterBBox The outer Bounding Box.
4902  void SetOuterBoundingBox(const Dtk_Oriented2dBBox& inOuterBBox) const;
4903 
4904 
4905  //! \brief Set the inner Bounding Box.
4906  //! \param inInnerBBox The inner Bounding Box.
4907  void SetInnerBoundingBox(const Dtk_Oriented2dBBox& inInnerBBox);
4908 
4910 
4911 };
4912 
4913 //! \ingroup draw
4914 //! \class Dtk_ReferenceFrame
4915 //! \image html Dtk_ReferenceFrame.png
4916 //! \brief This is the Reference Frame Class.\n
4917 //! It is part of the Dtk_ToleranceSpecification entity.\n
4918 //! It's basically composed by one - or more - Dtk_ReferenceBlock.
4919 //! \SmartPtr{Dtk_ReferenceFramePtr}
4921 {
4922 protected:
4923  struct Dtk_Handle; // Not defined here
4924  std::unique_ptr<Dtk_Handle> _Private; // Handle
4925  enum {
4926  _typeID = DTK_TYPE_REFERENCE_FRAME
4927  };
4928 
4929 
4930  //! \sa Create()
4932 
4933  //! \sa Create(const Dtk_ReferenceFrame &)
4936 
4937  //! \sa Create(const Dtk_ReferenceBlockPtr &)
4940  inline virtual Dtk_Object* Clone() { return new Dtk_ReferenceFrame(*this); }
4941 private:
4942  friend class Dtk_SmartPtr<Dtk_ReferenceFrame>;
4943 
4944 public:
4945  //! \DtkDynamicType
4947 
4948  //! \DtkDynamicCast
4950 
4951  //! \CreateBase
4953 
4954  //! \CreateCopy{in}
4956 
4957  //! \brief Full featured constructor with one first reference block.
4958  //! \param inFirstReferenceBlock The first reference block
4959  //! \return the created Dtk_ReferenceFramePtr
4961  const Dtk_ReferenceBlockPtr & inFirstReferenceBlock);
4962 
4963  //! \brief Add a reference block to the Dtk_ReferenceFrame.
4964  //! \param inReferenceBlock The reference block to add
4965  //! \return DtkNoError if OK.
4967  const Dtk_ReferenceBlockPtr & inReferenceBlock);
4968 
4969 // //! \DtkInternal
4970 // void _PropagateOrientation(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
4971 
4972  //! \brief Retrieves the number of reference blocks - read only -.
4973  //! \return The number of reference blocks.
4975 
4976  //! \brief Processes all the Dtk_ReferenceFrame anchor points.
4977  //! \param outTabPnts The resulting anchor point array.
4978  //! \param inOffSet - internal use only -.
4979  //! \return DtkNoError if OK
4981  const Dtk_Double64& inOffSet = 0.0) const;
4982 
4983  //! \brief Sets the Dtk_ReferenceFrame anchor point.
4984  //! \param inNewLocation The new location point.
4985  //! \param inLocationAnchorType The anchor type related to the new location.
4986  //! \param inOffSet For internal use only.
4987  //! \return DtkNoError if OK
4989  const Dtk_pnt &inNewLocation,
4990  const Dtk_anchor_type &inLocationAnchorType,
4991  const Dtk_Double64 &inOffSet = 0.0);
4992 
4993  //! \brief Retrieves the ith reference block - get/set -.
4994  //! \param inReferencePos The reference block index
4995  //! \return The inReferencePos'th reference block.
4996  //! \exception Dtk_OutOfRangeType Dtk_Exception is raised if
4997  //! the inReferencePos parameter is invalid
4998  Dtk_ReferenceBlockPtr& Reference(const Dtk_Size_t &inReferencePos);
4999 
5000  //! \brief Retrieves the ith reference blocks - read only -.
5001  //! \param inReferencePos The reference block index
5002  //! \return The inReferencePos'th reference block.
5003  //! \exception Dtk_OutOfRangeType Dtk_Exception is raised if
5004  //! the inReferencePos parameter is invalid
5006  const Dtk_Size_t &inReferencePos) const;
5007 
5008  //! \brief Retrieves the first reference block - get/set -.
5009  //! \return The first reference block.
5010  //! \sa FirstReference() const
5012 
5013  //! \brief Retrieves the first reference block - read only -.
5014  //! \return The first reference block.
5015  //! \sa FirstReference()
5017 
5018  //! \brief Retrieves the second reference block - get/set -.
5019  //! \return The second reference block.
5020  //! \sa FirstReference() const
5022 
5023  //! \brief Retrieves the second reference block - read only -.
5024  //! \return The second reference block.
5025  //! \sa FirstReference()
5027 
5028  //! \brief Retrieves the third reference block - get/set -.
5029  //! \return The third reference block.
5030  //! \sa FirstReference() const
5032 
5033  //! \brief Retrieves the third reference block - read only -.
5034  //! \return The third reference block.
5035  //! \sa FirstReference()
5037 
5038  void Translate(const Dtk_dir& inTranslationDir);
5039 
5041 };
5042 
5043 //! \ingroup draw
5044 //! \class Dtk_ToleranceSpecification
5045 //! \image html Dtk_ToleranceSpecification.png
5046 //! \brief This is the geometrical tolerance specification.\n
5047 //! It is part of the Dtk_ToleranceSpecificationContainer.\n
5048 //! It may contain a Dtk_ReferenceFrame and/or Dtk_FCFFeatureIndicator.
5049 //! \SmartPtr{Dtk_ToleranceSpecificationPtr}
5051 {
5052 protected:
5053  struct Dtk_Handle; // Not defined here
5054  std::unique_ptr<Dtk_Handle> _Private; // Handle
5055  enum {
5056  _typeID = DTK_TYPE_TOL_SPEC
5057  };
5058  //! \sa Create()
5060  //! \sa Create( Dtk_Text, const Dtk_ReferenceFramePtr &)
5061  Dtk_ToleranceSpecification( Dtk_Text inFullTextWithMaterialCondition,
5062  const Dtk_ReferenceFramePtr
5063  &inReferenceFrame = Dtk_ReferenceFrame::Create());
5064 
5065  //! \sa Create( const Dtk_ToleranceSpecification & )
5069  inline virtual Dtk_Object* Clone() { return new Dtk_ToleranceSpecification(*this); }
5070 
5071 private:
5073 public:
5074  // Downcasting
5075 
5076  //! \DtkDynamicType
5078 
5079  //! \DtkDynamicCast
5081 
5082  //! \CreateBase
5084 
5085  //! \brief Calls full featured constructor to allocate a new object.
5086  //! \param inFullTextWithMaterialCondition A full text string containing the main value AND the optional material modifier.
5087  //! \param inReferenceFrame The optional reference frame.
5088  //! \return the created Dtk_ReferenceFramePtr
5090  Dtk_Text inFullTextWithMaterialCondition,
5091  const Dtk_ReferenceFramePtr &inReferenceFrame = Dtk_ReferenceFrame::Create());
5092 
5093  //! \CreateCopy{in}
5095 
5096  //! \brief Retrieves the reference blocks number - read only -.\n
5097  //! This is a shortcut without using Dtk_ReferenceFrame object.
5098  //! \return The reference blocks number.
5099  //! \sa Dtk_ReferenceFrame::GetNumReferences()
5101 
5102  //! \brief Retrieves the ith reference block - get/set -.\n
5103  //! This is a shortcut without using Dtk_ReferenceFrame object.
5104  //! \param inReferencePos the reference block index.
5105  //! \return The ith reference block.
5106  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5107  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5108  //! \sa Reference() const
5109  //! \sa Dtk_ReferenceFrame::Reference()
5110  Dtk_ReferenceBlockPtr& Reference( const Dtk_Size_t &inReferencePos );
5111 
5112  //! \brief Retrieves the ith reference block - get/set -.\n
5113  //! This is a shortcut without using Dtk_ReferenceFrame object.
5114  //! \param inReferencePos the reference block index.
5115  //! \return The ith reference block.
5116  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5117  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5118  //! \sa Reference()
5119  //! \sa Dtk_ReferenceFrame::Reference() const
5120  const Dtk_ReferenceBlockPtr& Reference( const Dtk_Size_t &inReferencePos ) const;
5121 
5122  //! \brief Retrieves the first reference block - get/set -.\n
5123  //! This is a shortcut without using Dtk_ReferenceFrame object.
5124  //! \return The first reference block.
5125  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5126  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5127  //! \sa FirstReference() const
5128  //! \sa Dtk_ReferenceFrame::FirstReference()
5130 
5131  //! \brief Retrieves the first reference block - read only -.\n
5132  //! This is a shortcut without using Dtk_ReferenceFrame object.
5133  //! \return The first reference block.
5134  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5135  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5136  //! \sa FirstReference()
5137  //! \sa Dtk_ReferenceFrame::FirstReference() const
5139 
5140  //! \brief Retrieves the second reference block - get/set -.\n
5141  //! This is a shortcut without using Dtk_ReferenceFrame object.
5142  //! \return The second reference block.
5143  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5144  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5145  //! \sa SecondReference() const
5146  //! \sa Dtk_ReferenceFrame::SecondReference()
5148 
5149  //! \brief Retrieves the second reference block - read only -.\n
5150  //! This is a shortcut without using Dtk_ReferenceFrame object.
5151  //! \return The second reference block.
5152  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5153  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5154  //! \sa SecondReference()
5155  //! \sa Dtk_ReferenceFrame::SecondReference() const
5157 
5158  //! \brief Retrieves the third reference block - get/set -.\n
5159  //! This is a shortcut without using Dtk_ReferenceFrame object.
5160  //! \return The third reference block.
5161  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5162  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5163  //! \sa ThirdReference() const
5164  //! \sa Dtk_ReferenceFrame::ThirdReference()
5166 
5167  //! \brief Retrieves the third reference block - read only -.\n
5168  //! This is a shortcut without using Dtk_ReferenceFrame object.
5169  //! \return The third reference block.
5170  //! \exception Dtk_NullPointerType Dtk_Exception is raised if
5171  //! there isn't any Dtk_ReferenceFrame into the Dtk_ToleranceSpecification object
5172  //! \sa ThirdReference()
5173  //! \sa Dtk_ReferenceFrame::ThirdReference() const
5175 
5176  //! \DtkInternal
5178 
5179  //! \DtkInternal
5181 
5182 
5183  //! \brief Explodes the Dtk_ToleranceSpecification into Dtk_CompositeText and
5184  //! geometrical elements - used for Dtk_Symbol conversion only -
5185  //! \param outCompositeText Resulting composite text
5186  //! \param outGeoms Resulting geometrical elements
5187  //! \return DtkNoError if OK
5189  Dtk_tab<Dtk_CurvePtr> &outGeoms);
5190 
5191  //! \brief Processes all the Dtk_ToleranceSpecification anchor points.
5192  //! \param outTabPnts The resulting anchor point array.
5193  //! \param ignoreadd - internal use only -.
5194  //! \return DtkNoError if OK
5196  const Dtk_Int32& ignoreadd = 0) const;
5197 
5198  //! \brief Processes all the Dtk_ToleranceSpecification anchor points.
5199  //! \param outTabPnts The resulting anchor point array.
5200  //! \param ignoreadd - internal use only -.
5201  //! \return DtkNoError if OK
5203  const Dtk_Int32& ignoreadd=0);
5204 
5205 
5206  //! \brief Retrieve the Dtk_ToleranceSpecification Outer Bounding Box.
5207  //! \param outOuterBBox The resulting Outer Bounding Box.
5208  //! \param inIncludeReferenceFrame DTK_TRUE to include the reference frame Bounding box - DTK_TRUE by default -.
5209  //! \param InIncludeIndicators DTK_TRUE to include the indicatorBounding boxes - DTK_TRUE by default -.
5210  //! \return DtkNoError if OK
5212  const Dtk_bool inIncludeReferenceFrame = DTK_TRUE,
5213  const Dtk_bool InIncludeIndicators = DTK_TRUE ) const;
5214 
5215  //! \deprecated Use SetMainValue mehod to alter MainValue instead.
5217 
5219 
5220  //! \brief Sets the Dtk_ToleranceSpecification anchor point.
5221  //! \param inNewLocation The new location point.
5222  //! \param inLocationAnchorType The anchor type related to the new location.
5223  //! \return dtkNoError if OK
5225  const Dtk_anchor_type &inLocationAnchorType);
5226 
5227  //! \brief Retrieves the Dtk_ToleranceSpecification text including all modifiers as Dtk_CompositeText - material modifier, etc... - - read only -
5228  //! \return Dtk_ToleranceSpecification Dtk_CompositeText.
5230 
5231  //! \brief Sets the Dtk_ToleranceSpecification text including all modifiers - material modifier, etc... -
5232  void SetMainValue( Dtk_CompositeText inNewMainValue );
5233 
5234  //! \brief Retrieves the reference frame- read only -
5235  //! \return The reference frame
5236  //! \sa ReferenceFrame()
5238 
5239  //! \brief Retrieves the reference frame- get/set -
5240  //! \return The reference frame
5241  //! \sa ReferenceFrame() const
5243 
5244  //! \brief Adds a feature indicator to the Dtk_ToleranceSpecification.
5245  //! \param inIndicator the feature indicator to be added.
5246  void AddIndicator( const Dtk_FCFFeatureIndicatorPtr& inIndicator );
5247 
5248  //! \brief Retrieves indicator number - read only -.\n
5249  //! \return The indicator number.
5251 
5252  //! \brief Retrieves the ith indicator - get only -.\n
5253  //! \param inIndicatorIndex the indicator index.
5254  //! \return The ith indicator.
5255  //! \sa GetIndicator()
5256  const Dtk_FCFFeatureIndicatorPtr& GetIndicator( const Dtk_Size_t inIndicatorIndex ) const;
5257 
5258  //! \brief Retrieves the ith indicator - get/set -.\n
5259  //! \param inIndicatorIndex the indicator index.
5260  //! \return The ith indicator.
5261  //! \sa GetIndicator() const
5263 
5264  //! \brief Retrieves the Dtk_ToleranceSpecification material modifier - read only -
5265  //! \return The material modifier
5267 
5268  //! \brief Tells if the Dtk_ToleranceSpecification has a FreeState Modifier or not - read only -
5269  //! \return DTK_TRUE if a FreeState modifier is present. DTK_FALSE else
5271 
5272  //! \brief Retrieves the X Axis for the Dtk_ToleranceSpecification - read only -
5273  //! \return The X Axis
5275 
5276  //! \brief Retrieves the Y Axis for the Dtk_ToleranceSpecification - read only -
5277  //! \return The Y Axis
5279 
5280  //! \Transform{inTransfo}
5282 
5283  //! \brief Translates the text giving a translation vector
5284  //! \param inTranslateDir the translation vector
5285  //! \return dtkNoError if OK
5286  void Translate(const Dtk_dir &inTranslationDir);
5287 };
5288 
5289 //! \ingroup draw
5290 //! \class Dtk_GeometricalTolerance
5291 //! \image html Dtk_GeometricalTolerance.png
5292 //! \brief This is the geometrical tolerance.\n
5293 //! It's basically composed by one - or more - Dtk_ToleranceSpecificationContainer.
5294 //! \SmartPtr{Dtk_GeometricalTolerancePtr} \n
5295 //! \ref geom_tol
5297 {
5298 protected:
5299  struct Dtk_Handle; // Not defined here
5300  std::unique_ptr<Dtk_Handle> _Private; // Handle
5301  enum {
5302  _typeID = DTK_TYPE_GEOM_TOL
5303  };
5304 
5305  //! \sa Create()
5307  //! \sa Create(const Dtk_GeometricalTolerance &)
5310  inline virtual Dtk_Object* Clone() { return new Dtk_GeometricalTolerance(*this); }
5312 private:
5313  friend class Dtk_SmartPtr<Dtk_GeometricalTolerance>;
5314 public:
5315 
5316  //! \DtkDynamicType
5318 
5319  //! \DtkDynamicCast
5321 
5322  //! \return The type of the entity type - DTK_TYPE_GEOM_TOL -
5324 
5325  //! \Transform{inTransfo}
5327 
5328  //! \CreateBase
5330  //! \CreateCopy{in}
5332 
5333  //! \brief Processes all the Dtk_GeometricalTolerance anchor points.
5334  //! \param outTabPnts The resulting anchor point array.
5335  //! \return dtkNoError if OK
5337  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
5338 
5339  //! \brief Processes all the Dtk_GeometricalTolerance anchor points.
5340  //! \param outTabPnts The resulting anchor point array.
5341  //! \param inProcessAddtionnalTexts DTK_TRUE if additional texts are included in the bounding box.
5342  //! \return dtkNoError if OK
5344  const Dtk_bool& inProcessAddtionnalTexts) const;
5345 
5346  //! \brief Sets the Dtk_GeometricalTolerance anchor point.
5347  //! \param inNewLocation The new location point.
5348  //! \param inLocationAnchorType The anchor type related to the new location.
5349  //! \return dtkNoError if OK
5351  const Dtk_pnt &inNewLocation,
5352  const Dtk_anchor_type& inLocationAnchorType);
5353 
5354  //! \brief Sets the Dtk_GeometricalTolerance anchor point.
5355  //! \param inNewLocation The new location point.
5356  //! \param inLocationAnchorType The anchor type related to the new location.
5357  //! \param inProcessAddtionnalTexts DTK_TRUE if additional texts are included in the bounding box.
5358  //! \return dtkNoError if OK
5360  const Dtk_anchor_type &inLocationAnchorType,
5361  const Dtk_bool &inProcessAddtionnalTexts);
5362 
5363  //! \brief Sets the location point of the Dtk_GeometricalTolerance
5364  //! \brief The location point is related to the anchor type
5365  //! \param inLocation the location point
5366  //! \return dtkNoError if OK
5368 
5369  //! \brief Sets the offset of the Dtk_GeometricalTolerance
5370  //! \brief The Offset is used to process bounding frames.
5371  //! \param inOffset The offset
5372  //! \return dtkNoError if OK
5373  //! \warning For internal use only
5375 
5376  //! \brief Sets the annotation angle using the annotation base.
5377  //! \param inRotationAngle The rotation angle to be set
5378  //! \return dtkNoError if OK
5380 
5381  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -
5382  //! \param inPos tolerance specification container index.
5383  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5384  //! \sa at(const Dtk_Size_t&) const
5386 
5387  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -
5388  //! \param inPos tolerance specification container index.
5389  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5390  //! \sa at(const Dtk_Size_t&)
5392 
5393  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -
5394  //! \param inPos tolerance specification container index.
5395  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5396  //! \sa at(const Dtk_Size_t&)
5398  const Dtk_Size_t &inPos) const;
5399 
5400  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -
5401  //! \param inPos tolerance specification container index.
5402  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5403  //! \sa at(const Dtk_Size_t&) const
5405  const Dtk_Size_t &inPos) const;
5406 
5407  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - get/set -
5408  //! \param inPos tolerance specification container index.
5409  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5410  //! \sa at(const Dtk_Size_t&)
5411  //! \sa GetToleranceSpecificationContainer(const Dtk_Size_t&) const
5413  const Dtk_Size_t& inPos);
5414 
5415  //! \brief Retrieves the ith Dtk_ToleranceSpecificationContainer - read only -
5416  //! \param inPos tolerance specification container index.
5417  //! \return the inPos'th Dtk_ToleranceSpecificationContainer
5418  //! \sa at(const Dtk_Size_t&) const
5419  //! \sa GetToleranceSpecificationContainer(const Dtk_Size_t&)
5422 
5423  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer number - read only -
5424  //! \return The Dtk_ToleranceSpecificationContainer number
5426 
5427  //! \brief Adds a Dtk_ToleranceSpecificationContainer to the Dtk_GeometricalTolerance.
5428  //! \param inTolSpecCont The Dtk_ToleranceSpecificationContainer to be Added.
5429  //! \return DtkNoError if OK
5431  const Dtk_ToleranceSpecificationContainerPtr &inTolSpecCont);
5432 
5433 // //! \DtkInternal
5434 // void IPropagateOrientation();
5435 
5437  const Dtk_bool& inProcessAddtionnalTexts,
5438  Dtk_Oriented2dBBox& outOuterBBox) const;
5439 
5440  void Translate(const Dtk_dir& inTranslationDir);
5441 
5442  //! \brief Sets the lettering color for symbol and references.
5443  //! \param inLetteringColor The color to be set
5444  void SetLetteringColor(const Dtk_RGB &inLetteringColor);
5445 
5446  //! \brief Gets the lettering color for symbol and references.
5447  //! \return the lettering color
5448  const Dtk_RGB& GetLetteringColor() const ;
5449 
5450  //! \brief Sets the frame color .
5451  //! \param inFrameColor The color to be set
5452  void SetFrameColor(const Dtk_RGB &inFrameColor);
5453 
5454  //! \brief Gets the frame color .
5455  //! \return the frame color
5456  const Dtk_RGB& GetFrameColor() const ;
5457 };
5458 
5459 //! \ingroup draw
5460 //! \class Dtk_FCFFeatureIndicatorType
5461 //! \brief This is the Feature Indicator.\n
5462 //! It is part of the Dtk_FCFFeatureIndicator.\n
5464 {
5465 public:
5467  {
5468  Unknown = 0,
5469  //! \image html IndicatorTypeDirectionFeature.png
5471  //! \image html IndicatorTypeCollectionPlane.png
5473  //! \image html IndicatorTypeIntersectionPlane.png
5475  //! \image html IndicatorTypeOrientationPlane.png
5477  };
5478 protected:
5482 public:
5483 
5484  //! \brief Full featured constructor
5485  //! \param inIndicatorType Feature indicator Type.
5486  //! \param inOuterBoundingBox Outer Bounding Box.
5487  //! \param inRelatedGeometricalElts Geometries representing the frame.
5489  const Dtk_Oriented2dBBox& inOuterBoundingBox,
5490  Dtk_tab< Dtk_CurvePtr > inRelatedGeometricalElts )
5491  {
5492  SetIndicatorTypeData( inIndicatorType,
5493  inOuterBoundingBox,
5494  std::move( inRelatedGeometricalElts ) );
5495  }
5496 
5497  //! \BaseConstructor
5499  : m_Type( Unknown )
5500  {}
5501  //! \CopyConstructor{in}
5503  //! \MoveConstructor{in}
5505 
5506  //! \AssignmentOp{in}
5508  //! \MoveOp{in}
5510 
5511  //! \BaseDestructor
5513 
5514  //! \brief Clear elements
5515  inline void Clear()
5516  {
5517  m_Type = Unknown;
5518  m_RelatedGeomElements.clear();
5519  m_OuterBBox.Clear();
5520  }
5521 
5522 
5523  //! \brief Set IndicatorType data.
5524  //! \param inIndicatorType Feature indicator Type.
5525  //! \param inOuterBoundingBox Outer Bounding Box.
5526  //! \param inRelatedGeometricalElts Geometries representing the frame.
5528  const Dtk_FCFFeatureIndicatorTypeEnum& inIndicatorType,
5529  const Dtk_Oriented2dBBox& inOuterBoundingBox,
5530  Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements )
5531  {
5532  m_Type = inIndicatorType;
5533  m_OuterBBox = inOuterBoundingBox;
5534  m_RelatedGeomElements = std::move( inRelatedGeomElements );
5535  }
5536  //! \brief Retrieves the IndicatorType semantic Type - Read Only -
5537  //! \return The IndicatorType Type
5539  {
5540  return m_Type;
5541  }
5542 
5543  //! \brief Process IndicatorType Related geometries.
5544  //! \return Always dtkNoError as success.
5546 
5547  //! \brief Retrieves the IndicatorType Outer Bounding Box - basically the related geometries BBox - - Read Only -
5548  //! \return The IndicatorType Outer Bounding Box
5550  {
5551  return m_OuterBBox;
5552  }
5553  //! \brief Translates the IndicatorType giving a translation vector
5554  //! \param inTranslateDir the translation vector
5555  //! \return dtkNoError if OK
5556  Dtk_ErrorStatus Translate( const Dtk_dir &inTranslateDir );
5557 
5558  //! \brief Applies a transformation matrix to the IndicatorType
5559  //! \param inTransfo The transformation matrix
5560  //! \return dtkNoError if OK
5562 };
5563 
5564 //! \ingroup draw
5565 //! \class Dtk_FCFFeatureIndicator
5566 //! \image html Dtk_FCFFeatureIndicator.png
5567 //! \brief This is the Feature Indicator.\n
5568 //! It is part of the Dtk_ToleranceSpecification.\n
5569 //! It's basically composed of a type, a symbol and a Datum feature identifier.
5570 //! \SmartPtr{Dtk_FCFFeatureIndicator}
5572 {
5573 protected:
5574  struct Dtk_Handle; // Not defined here
5575  std::unique_ptr<Dtk_Handle> m_Private; // Handle
5576  enum
5577  {
5579  };
5580 
5581  //! \sa Create()
5583  //! \sa Create(const Dtk_FCFFeatureIndicator &)
5586 
5587  //! \sa Create( Dtk_FCFFeatureIndicatorType, Dtk_Text, Dtk_Text )
5589  Dtk_Text inSymbol,
5590  Dtk_Text inDatumFeatureIdentifier );
5591  inline virtual Dtk_Object* Clone()
5592  {
5593  return new Dtk_FCFFeatureIndicator( *this );
5594  }
5596 private:
5597  friend class Dtk_SmartPtr<Dtk_FCFFeatureIndicator>;
5598 
5599 public:
5600  //! \DtkDynamicType
5601  inline Dtk_Int32 DtkDynamicType( const Dtk_Int32 &inId )
5602  {
5603  if( inId == _typeID )
5604  return 1;
5605  return Dtk_Object::DtkDynamicType( inId );
5606  }
5607  //! \DtkDynamicCast
5609  {
5610  if( s->DtkDynamicType( _typeID ) )
5611  return static_cast< Dtk_FCFFeatureIndicator* >( s );
5612  return NULL;
5613  }
5614  void Clear();
5615 
5616  //! \CreateBase
5618  {
5619  return new Dtk_FCFFeatureIndicator();
5620  }
5621 
5622  //! \CreateCopy{in}
5624  {
5625  return new Dtk_FCFFeatureIndicator( in );
5626  }
5627 
5628  //! \brief Calls full featured constructor to allocate a new object.
5629  //! \param inFeatureIndicatorType The FeatureIndicator Type.
5630  //! \param inSymbol The FeatureIndicator symbol.
5631  //! \param inDatumFeatureIdentifier The FeatureIndicator Datum feature identifier.
5632  //! \return the created Dtk_FCFFeatureIndicatorPtr
5634  Dtk_Text inSymbol,
5635  Dtk_Text inDatumFeatureIdentifier )
5636  {
5637  return new Dtk_FCFFeatureIndicator( std::move( inFeatureIndicatorType ), std::move( inSymbol ), std::move( inDatumFeatureIdentifier ) );
5638  }
5639 
5640  //! \brief Processes all the Dtk_FCFFeatureIndicator anchor points.
5641  //! \param outTabPnts The resulting anchor point array.
5642  //! \param inOffSet - internal use only -.
5643  //! \return DtkNoError if OK
5645 
5646  //! \brief Retrieves the DatumFeature Identifier of the Dtk_FCFFeatureIndicator - Read Only -
5647  //! \return The Dtk_FCFFeatureIndicator DatumFeature Identifier.
5649 
5650  //! \brief Retrieves the Symbol of the Dtk_FCFFeatureIndicator - Read Only -
5651  //! \return The Dtk_FCFFeatureIndicator Symbol.
5652  const Dtk_Text& GetSymbol() const;
5653 
5654  //! \brief Retrieves the Full Type of the Dtk_FCFFeatureIndicator - Read Only -.
5655  //! \return The Dtk_FCFFeatureIndicator Dtk_FCFFeatureIndicatorType.
5657 
5658  //! \brief Sets the Dtk_FCFFeatureIndicator anchor point.
5659  //! \param inNewLocation The new location point.
5660  //! \param inLocationAnchorType The anchor type related to the new location.
5661  //! \return DtkNoError if OK
5663  const Dtk_pnt &inNewLocation,
5664  const Dtk_anchor_type &inLocationAnchorType );
5665 
5666  //! \brief Translates the Dtk_FCFFeatureIndicator giving a translation vector.
5667  //! \param inTranslationDir The translation vector.
5668  //! \return DtkNoError if OK
5669  Dtk_ErrorStatus Translate( const Dtk_dir& inTranslationDir );
5670 
5671  //! \brief Transforms the Dtk_FCFFeatureIndicator giving a transformation matrix.
5672  //! \param inTranslationDir The transformation matrix.
5673  //! \return DtkNoError if OK
5675 
5676  //! \brief Retrieves the Dtk_FCFFeatureIndicator Outer Bounding Box.
5677  //! \return The Dtk_FCFFeatureIndicator Outer Bounding Box.
5679 
5680  //! \brief Explodes the Dtk_FCFFeatureIndicator into Dtk_CompositeText and
5681  //! geometrical elements - used for Dtk_Symbol conversion only -
5682  //! \param outText Resulting composite text
5683  //! \param outGeomsArray Resulting geometrical elements
5684  //! \return DtkNoError if OK
5686 };
5687 
5688 //! \ingroup draw
5689 //! \class Dtk_ToleranceSpecificationContainer
5690 //! \image html Dtk_ToleranceSpecificationContainer.png
5691 //! \brief This is the tolerance specification container.\n
5692 //! It is part of the Dtk_GeometricalTolerance.\n
5693 //! It's basically composed by one - or more - Dtk_ToleranceSpecification.
5694 //! \SmartPtr{Dtk_ToleranceSpecificationContainerPtr}
5696 {
5697 public:
5698  enum TypeEnum {
5699  Typeunknown = 0,
5700  //! \image html Straightness.png
5702  //! \image html Flatness.png
5704  //! \image html Circularity.png
5706  //! \image html Cylindricity.png
5708  //! \image html LineProfile.png
5710  //! \image html SurfaceProfile.png
5712  //! \image html Angularity.png
5714  //! \image html Perpendicularity.png
5716  //! \image html Parallelism.png
5718  //! \image html Position.png
5720  //! \image html Concentricity.png
5722  //! \image html Symmetry.png
5724  //! \image html CircularRunout.png
5726  //! \image html TotalRunout.png
5728  //! \image html AxisIntersection.png
5729  TypeAxisIntersection
5730  };
5731 protected:
5732  struct Dtk_Handle; // Not defined here
5733  std::unique_ptr<Dtk_Handle> _Private; // Handle
5734  enum {
5735  _typeID = DTK_TYPE_GEOM_TOL
5736  };
5737  //! \sa Create(const Dtk_ToleranceSpecificationContainer &)
5740 
5741  //! \sa Create(const TypeEnum &)
5743  const TypeEnum &inTolSpecContType,
5744  const Dtk_Oriented2dBBox& inInnerTolTypeBBox,
5745  const Dtk_Oriented2dBBox& inOuterTolTypeBBox);
5747  inline virtual Dtk_Object* Clone() { return new Dtk_ToleranceSpecificationContainer(*this); }
5748 
5749 private:
5751 public:
5752 
5753 
5755  //! \DtkDynamicType
5757 
5758  //! \DtkDynamicCast
5760 
5761  //! \CreateCopy{in}
5763 
5764  //! \brief Calls full featured constructor to allocate a new object.
5765  //! \param inTolSpecContType The tolerance specification container type
5766  //! \return the created Dtk_ToleranceSpecificationContainerPtr
5768  const TypeEnum &inTolSpecContType,
5769  const Dtk_Oriented2dBBox& inInnerTolTypeBBox,
5770  const Dtk_Oriented2dBBox& inOuterTolTypeBBox );
5771 
5772 
5773  //! \brief Retrieves the Tolerance Specification Container Type outer Bounding Box.
5774  //! \param outOuterBBox The resulting Tolerance Specification Container Type outer Bounding Box.
5776 
5777 
5778  //! \brief Set the Tolerance Specification Container Type outer Bounding Box.
5779  //! \param inOuterBBox The Tolerance Specification Container Type outer Bounding Box.
5780  void SetToleranceTypeOuterBoundingBox(const Dtk_Oriented2dBBox& inOuterBBox ) const;
5781 
5782  //! \brief Retrieves the Tolerance Specification Container Type inner Bounding Box.
5783  //! \param outOuterBBox The resulting Tolerance Specification Container Type inner Bounding Box.
5785 
5786  //! \brief Set the Tolerance Specification Container Type inner Bounding Box.
5787  //! \param inInnerBBox The Tolerance Specification Container Type inner Bounding Box.
5788  void SetToleranceTypeInnerBoundingBox( const Dtk_Oriented2dBBox& inInnerBBox ) const;
5789 
5790  //! \brief Processes all the ith Dtk_ToleranceSpecification anchor points.
5791  //! \param inTolSpecPos the Dtk_ToleranceSpecification index.
5792  //! \param outTabPnts The resulting anchor point array.
5793  //! \return dtkNoError if OK
5795  const Dtk_Size_t &inTolSpecPos,
5796  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
5797 
5798  //! \brief Processes all the Dtk_ToleranceSpecificationContainer anchor points.
5799  //! \param outTabPnts The resulting anchor point array.
5800  //! \return dtkNoError if OK
5802  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
5803 
5805  const Dtk_Size_t& inTolSpecPos,
5806  Dtk_Oriented2dBBox& outOuterBBox) const;
5807 
5808 // //! \DtkInternal
5809 // void _PropagateOrientation();
5810 
5811  //! \brief Retrieves the tolerance specification number - read only -.
5812  //! \return The tolerance specification number.
5814 
5815  //! \brief Adds a tolerance specification to the Dtk_ToleranceSpecificationContainer.
5816  //! \param inTolSpec the tolerance specification to be added.
5817  //! \return dtkNoError if OK.
5819  const Dtk_ToleranceSpecificationPtr &inTolSpec);
5820 
5821  //! \brief Retrieves the ith tolerance specification - read only -.
5822  //! \param inPos the tolerance specification index.
5823  //! \return The inPos'th tolerance specification.
5825  const Dtk_Size_t &inPos) const;
5826 
5827  //! \brief Replaces the ith tolerance specification .
5828  //! \param inPos the tolerance specification index.
5829  //! \param inNewTolSpec the new tolerance specification index.
5830  //! \return dtkNoError if OK.
5832  const Dtk_Size_t &inPos,
5833  const Dtk_ToleranceSpecificationPtr &inNewTolSpec);
5834 
5835  //! \brief Processes all the Dtk_Symbol anchor points.
5836  //! \param outTabPnts The resulting anchor point array.
5837  //! \return dtkNoError if OK
5839  Dtk_pnt (&outTabPnts)[DTK_NB_ANCHOR_TYPES],
5840  const Dtk_Int32 &ref_tol_spec_ind = -1) const;
5841 
5842  //! \brief Sets the Dtk_ToleranceSpecificationContainer top-text.
5843  //! \param inText The new text.
5844  //! \return dtkNoError if OK
5846 
5847  //! \brief Sets the Dtk_ToleranceSpecificationContainer bottom-text.
5848  //! \param inText The new text.
5849  //! \return dtkNoError if OK
5851 
5852  //! \brief Sets the Dtk_ToleranceSpecificationContainer left-text.
5853  //! \param inText The new text.
5854  //! \return dtkNoError if OK
5856 
5857  //! \brief Sets the Dtk_ToleranceSpecificationContainer right-text.
5858  //! \param inText The new text.
5859  //! \return dtkNoError if OK
5861 
5862  //! \brief OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer top-text as Dtk_Text - read only -.
5863  //! \remark Only the first text - if exists - is retrieved.
5864  //! \return the text if there is one. an empty Dtk_Text else.
5865  //! \deprecated Use TopTextAsCompositeText() const method instead.
5866  const Dtk_Text& TopText() const;
5867 
5868  //! \brief OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer bottom-text as Dtk_Text - read only -.
5869  //! \remark Only the first text - if exists - is retrieved.
5870  //! \return the text if there is one. an empty Dtk_Text else.
5871  //! \deprecated Use BottomTextAsCompositeText() const method instead.
5872  const Dtk_Text& BottomText() const;
5873 
5874  //! \brief OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer right-text as Dtk_Text - read only -.
5875  //! \remark Only the first text - if exists - is retrieved.
5876  //! \return the text if there is one. an empty Dtk_Text else.
5877  //! \deprecated Use RightTextAsCompositeText() const method instead.
5878  const Dtk_Text& GetRightText() const;
5879 
5880  //! \brief OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer left-text as Dtk_Text - read only -.
5881  //! \remark Only the first text - if exists - is retrieved.
5882  //! \return the text if there is one. an empty Dtk_Text else.
5883  //! \deprecated Use LeftTextAsCompositeText() const method instead.
5884  const Dtk_Text& GetLeftText() const;
5885 
5886  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer top-text as Dtk_CompositeText - read only -.
5887  //! \return the text.
5889 
5890  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer bottom-text as Dtk_CompositeText - read only -.
5891  //! \return the text.
5893 
5894  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer right-text as Dtk_CompositeText - read only -.
5895  //! \return the text.
5897 
5898  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer left-text as Dtk_CompositeText - read only -.
5899  //! \return the text.
5901 
5902 
5903  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer top-text - read only -.
5904  //! \return the text - Dtk_string form -.
5906 
5907  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer bottom-text - read only -.
5908  //! \return the text - Dtk_string form -.
5910 
5911  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer right-text - read only -.
5912  //! \return the text - Dtk_string form -.
5914 
5915  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer left-text - read only -.
5916  //! \return the text - Dtk_string form -.
5918 
5919  //! \brief Explodes the Dtk_ToleranceSpecificationContainer into Dtk_CompositeText and
5920  //! geometrical elements - used for Dtk_Symbol conversion only -
5921  //! \param outCompositeText Resulting composite text
5922  //! \param outGeoms Resulting geometrical elements
5923  //! \return DtkNoError if OK
5925  Dtk_CompositeText &outCompositeText,
5926  Dtk_tab<Dtk_CurvePtr> &outGeoms);
5927 
5928  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer type - read only -
5929  //! \return The Dtk_ToleranceSpecificationContainer type.
5930  //! \sa ToleranceSpecificationContainerType()
5932 
5933  //! \brief Retrieves the Dtk_ToleranceSpecificationContainer type - get/set -
5934  //! \return The Dtk_ToleranceSpecificationContainer type.
5935  //! \sa ToleranceSpecificationContainerType() const
5937 
5938 // //! \DtkInternal
5939 // void _PropagateOrientation(const Dtk_dir &inXAxis, const Dtk_dir &inYAxis);
5940 
5941  //! \brief Processes all the Dtk_Symbol anchor points.
5942  //! \param outTabPnts The resulting anchor point array.
5943  //! \return dtkNoError if OK
5945  const Dtk_bool& ProcessAddtionnalTexts) const;
5946 
5947  //! \brief Sets the Dtk_ToleranceSpecificationContainer anchor point.
5948  //! \param inNewLocation The new location point.
5949  //! \param inLocationAnchorType The anchor type related to the new location.
5950  //! \param inProcessAdditionnalTexts For internal use only.
5951  //! \return dtkNoError if OK
5953  const Dtk_pnt &inNewLocation,
5954  const Dtk_anchor_type &inLocationAnchorType,
5955  const Dtk_bool &inProcessAdditionnalTexts);
5956 
5957  //! \brief Sets the location point of the Dtk_ToleranceSpecificationContainer
5958  //! \brief The location point is related to the anchor type
5959  //! \param inLocation the location point
5960  //! \return dtkNoError if OK
5962 
5963  //! \Transform{inTransfo}
5965 
5966  //! \brief Translates the text giving a translation vector
5967  //! \param inTranslateDir the translation vector
5968  //! \return dtkNoError if OK
5969  void Translate(const Dtk_dir &inTranslationDir);
5970 
5972  const Dtk_bool& inProcessAddtionnalTexts,
5973  Dtk_Oriented2dBBox& outOuterBBox) const;
5974 };
5975 
5976 //! \ingroup draw
5977 //! \class Dtk_Symbol
5978 //! \brief This is the general symbol class.\n
5979 //! It's basically composed of Dtk_CompositeText and geometrical elements.
5980 //! \SmartPtr{Dtk_SymbolPtr}
5982 {
5983 public:
5984  enum TypeEnum {
5985  TypeUnknown = -1,
5986  TypeNote = 0,
6012  TypeArrow
6013  };
6014  static const Dtk_string TypeEnumToString(const TypeEnum& inEnum)
6015  {
6016  switch( inEnum )
6017  {
6018  case TypeNote: return L"TypeNote";
6019  case TypeDatum: return L"TypeDatum";
6020  case TypeBalloon: return L"TypeBalloon";
6021  case TypeDatumTarget: return L"TypeDatumTarget";
6022  case TypeRoughness: return L"TypeRoughness";
6023  case TypeDimension: return L"TypeDimension";
6024  case TypeFlagNote: return L"TypeFlagNote";
6025  case TypeGeometricalTolerance: return L"TypeGeometricalTolerance";
6026  case TypeAnnotationTable: return L"TypeAnnotationTable";
6027  case TypeCell: return L"TypeCell";
6028  case TypeTable: return L"TypeTable";
6029  case TypeCallout: return L"TypeCallout";
6030  case TypeWelding: return L"TypeWelding";
6031  case TypeCoordinateDimension: return L"TypeCoordinateDimension";
6032  case TypeGeom: return L"TypeGeom";
6033  case TypeAxis: return L"TypeAxis";
6034  case TypeAxisSystem: return L"TypeAxisSystem";
6035  case TypeCenterLine: return L"TypeCenterLine";
6036  case TypeCenterMark: return L"TypeCenterMark";
6037  case TypeGrid: return L"TypeGrid";
6038  case TypeHatching: return L"TypeHatching";
6039  case TypeFullBoltCircle: return L"TypeFullBoltCircle";
6040  case TypeCustomSymbol: return L"TypeCustomSymbol";
6041  case TypeHoleNote: return L"TypeHoleNote";
6042  case TypeUrl: return L"TypeUrl";
6043  case TypeArrow: return L"TypeArrow";
6044  default: return L"Unknown";
6045  }
6046  }
6047 
6048 protected:
6049  struct Dtk_Handle; // Not defined here
6050  std::unique_ptr<Dtk_Handle> _Private; // Handle
6051  enum { _typeID = DTK_TYPE_SYMBOL };
6052 protected:
6053 
6054  //! \sa Create(const Dtk_Dimension &)
6055  Dtk_Symbol(const Dtk_Dimension &inToBeConverted,const Dtk_bool &inKeepLeaderAsLeader);
6056  //! \sa Create(const Dtk_Table &, const Dtk_bool &)
6057  Dtk_Symbol(Dtk_Table& inToBeConverted, const Dtk_bool& inTextAutoFlip = DTK_FALSE);
6058  //! \sa Create(const Dtk_GeometricalTolerance &, const Dtk_bool &)
6060  const Dtk_GeometricalTolerance& inToBeConverteds,
6061  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6062  //! \sa Create(const Dtk_Roughness &, const Dtk_bool &)
6064  const Dtk_Roughness &inToBeConverted,
6065  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6066  //! \sa Create(const Dtk_DatumTarget &, const Dtk_bool &)
6068  const Dtk_DatumTarget &inToBeConverted,
6069  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6070  //! \sa Create(const Dtk_Welding &, const Dtk_bool &)
6072  const Dtk_Welding &inToBeConverted,
6073  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6074  //! \sa Create( const Dtk_CompositeEntityPtr&, const Dtk_bool& inTextAutoFlip)
6076  const Dtk_CompositeEntity &inToBeConverted,
6077  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6078  //! \sa Create( const Dtk_GridPtr&, const Dtk_bool& )
6080  const Dtk_Grid &inGrid,
6081  const Dtk_bool &text_auto_flip = DTK_FALSE);
6082  //! \sa Create( const Dtk_Region&, const Dtk_bool& )
6083  Dtk_Symbol(const Dtk_Region &inRegion,
6084  const Dtk_bool &text_auto_flip);
6085  //! \sa Create()
6087  //! \sa Create(const Dtk_Symbol &)
6090 
6092  inline virtual Dtk_Object* Clone() { return new Dtk_Symbol(*this); }
6093 
6094  //! \DtkInternal
6095  Dtk_ErrorStatus _CreateDatumFeatureFrameAsGeometries( Dtk_pnt (&inTabPoints)[DTK_NB_ANCHOR_TYPES] );
6096 
6097 private:
6098  friend class Dtk_SmartPtr<Dtk_Symbol>;
6099 public:
6100  //! \DtkDynamicType
6102 
6103  //! \DtkDynamicCast
6105 
6106  //! \CreateBase
6108 
6109  //! \CreateCopy{in}
6110  static Dtk_SymbolPtr Create( const Dtk_Symbol &in );
6111 
6112  //! \brief Calls full featured constructor to allocate a new object.
6113  //! \param inLocation The symbol location point
6114  //! \param inLocationAnchorType The anchor type related to the location.
6115  //! \return the created Dtk_SymbolPtr
6117  const Dtk_pnt &inLocation,
6118  const Dtk_anchor_type &inLocationAnchorType);
6119 
6120  //! \brief Create from Dtk_DimensionPtr
6121  //! \param inToBeConverted Entity to be converted.
6122  //! \param inKeepLeaderAsLeader to keep the leader definition put the value DTK_TRUE.
6123  //! \return the created Dtk_SymbolPtr
6124  static Dtk_SymbolPtr Create( const Dtk_DimensionPtr &inToBeConverted ,
6125  const Dtk_bool &inKeepLeaderAsLeader = DTK_FALSE );
6126 
6127  //! \brief Create from Dtk_DatumTargetPtr
6128  //! \param inToBeConverted Entity to be converted.
6129  //! \param inTextAutoFlip For internal use only.
6130  //! \return the created Dtk_SymbolPtr
6132  const Dtk_DatumTargetPtr &inToBeConverted,
6133  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6134 
6135  //! \brief Create from Dtk_GeometricalTolerancePtr
6136  //! \param inToBeConverted Entity to be converted.
6137  //! \param inTextAutoFlip For internal use only.
6138  //! \return the created Dtk_SymbolPtr
6140  const Dtk_GeometricalTolerancePtr &inToBeConverted,
6141  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6142 
6143  //! \brief Create from Dtk_TablePtr
6144  //! \param inToBeConverted Entity to be converted.
6145  //! \param inTextAutoFlip For internal use only.
6146  //! \return the created Dtk_SymbolPtr
6148  const Dtk_TablePtr &inToBeConverted,
6149  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6150 
6151  //! \brief Create from Dtk_RoughnessPtr
6152  //! \param inToBeConverted Entity to be converted.
6153  //! \param inTextAutoFlip For internal use only.
6154  //! \return the created Dtk_SymbolPtr
6156  const Dtk_RoughnessPtr &inToBeConverted,
6157  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6158 
6159  //! \brief Create from Dtk_GridPtr
6160  //! \param inToBeConverted Entity to be converted.
6161  //! \param inTextAutoFlip For internal use only.
6162  //! \return the created Dtk_SymbolPtr
6164  const Dtk_GridPtr &inToBeConverted,
6165  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6166 
6167  //! \brief Create from Dtk_RegionPtr
6168  //! \param inToBeConverted Entity to be converted.
6169  //! \param inTextAutoFlip For internal use only.
6170  //! \return the created Dtk_SymbolPtr
6172  const Dtk_RegionPtr &inToBeConverted,
6173  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6174 
6175  //! \brief Create from Dtk_AnnotationPtr
6176  //! \param inToBeConverted Entity to be converted.
6177  //! \param inTextAutoFlip For internal use only.
6178  //! \return the created Dtk_SymbolPtr
6180  const Dtk_AnnotationPtr &inToBeConverted,
6181  const Dtk_bool &inTextAutoFlip = DTK_FALSE);
6182 
6183  //! \brief Create from Dtk_2dEntityPtr
6184  //! \param inToBeConverted Entity to be converted.
6185  //! \param inTextAutoFlip For internal use only - except for Dtk_Dimension -.
6186  //! \param inKeepLeaderAsLeader to keep the leader definition put the value DTK_TRUE - only for Dtk_Dimension -.
6187  //! \return the created Dtk_SymbolPtr
6189  const Dtk_2dEntityPtr &inToBeConverted,
6190  const Dtk_bool &inTextAutoFlip = DTK_FALSE,
6191  const Dtk_bool &inKeepLeaderAsLeader = DTK_FALSE );
6192 
6193  //! \brief Create from Dtk_WeldingPtr
6194  //! \param inToBeConverted Entity to be converted.
6195  //! \param inTextAutoFlip For internal use only.
6196  //! \return the created Dtk_SymbolPtr
6198  const Dtk_WeldingPtr &inToBeConverted,
6199  const Dtk_bool &inTextAutoFlip);
6200 
6201  //! \brief Create from Dtk_CompositeEntityPtr
6202  //! \param inToBeConverted Entity to be converted.
6203  //! \param inTextAutoFlip For internal use only.
6204  //! \return the created Dtk_SymbolPtr
6206  const Dtk_CompositeEntityPtr &inToBeConverted,
6207  const Dtk_bool &inTextAutoFlip);
6208 
6209  //! \brief Adds a geometrical element to the Dtk_Symbol.
6210  //! \param inGeomElt The geometrical element to be added.
6211  //! \return DtkNoError if OK.
6213 
6214  //! \brief Retrieves the geometrical elements number - read only -.
6215  //! \return The geometrical elements number.
6217 
6218  //! \brief Retrieves the ith geometrical element
6219  //! \param inPos The geoemtrical element index
6220  //! \return The inPos'th geometrical element.
6221  Dtk_EntityPtr GetGeomElement( const Dtk_Size_t &inPos ) const;
6222 
6223  //! \brief Converts all leaders into Dtk_Symbol into geometrical elements
6225 
6226  //! \brief Retrieves the Dtk_CompositeText included into the Dtk_Symbol - read only -.
6227  //! \return The Dtk_CompositeText.
6228  //! \sa Texts()
6229  const Dtk_CompositeText& Texts()const;
6230 
6231  //! \brief Retrieves the Dtk_CompositeText included into the Dtk_Symbol - get/set -.
6232  //! \return The Dtk_CompositeText.
6233  //! \sa Texts() const
6235 
6236  //! \brief Retrieves the Dtk_Symbol frame type - read only -.
6237  //! \return The frame type.
6238  //! \sa FrameType()
6240 
6241  //! \brief Set the Dtk_Symbol frame information - get/set -
6242  //! \return The Dtk_Symbol frame type
6243  //! \sa FrameType() const
6244  void SetFrameType( const Dtk_frame_type& inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements);
6245 
6246  //! \brief Retrieves the Frame - read only -
6247  //! \param outFrame The frame
6248  //! \sa FrameType() const
6249  void GetFrame(Dtk_Frame& outFrame) const;
6250 
6251  //! \brief Retrieves the Dtk_Symbol type - read only -.
6252  //! \return The Dtk_Symbol type.
6253  //! \sa SymbolType()
6254  const TypeEnum& SymbolType()const;
6255 
6256  //! \brief Retrieves the Dtk_Symbol type - get/set -.
6257  //! \return The Dtk_Symbol type.
6258  //! \sa SymbolType() const
6260 
6261  //! \brief Processes all the Dtk_Symbol anchor points.
6262  //! \param outTabPnts The resulting anchor point array.
6263  //! \return dtkNoError if OK
6265 
6266  //! \return The type of the entity type - DTK_TYPE_SYMBOL -
6268 
6269  //! \brief Sets the Dtk_Symbol anchor point.
6270  //! \param inNewLocation The new location point.
6271  //! \param inLocationAnchorType The anchor type related to the new location.
6272  //! \return dtkNoError if OK
6274  const Dtk_pnt &inNewLocation,
6275  const Dtk_anchor_type &inLocationAnchorType);
6276 
6277  //! \brief Sets the location point of the Dtk_Symbol
6278  //! \brief The location point is related to the anchor type
6279  //! \param inLocation the location point
6280  //! \return dtkNoError if OK
6281  Dtk_ErrorStatus SetLocation( const Dtk_pnt &inLocation );
6282 
6283  //! \brief Sets the offset of the Dtk_Symbol
6284  //! \brief The Offset is used to process bounding frames.
6285  //! \param inOffset The offset
6286  //! \return dtkNoError if OK
6287  //! \warning For internal use only
6289 
6290  //! \brief Sets the annotation angle using the annotation base.
6291  //! \param inRotationAngle The rotation angle to be set
6292  //! \return dtkNoError if OK
6293  Dtk_ErrorStatus SetRotationAngle( const Dtk_Double64 &inRotationAngle );
6294 
6295  //! \brief Processes Dtk_Symbol frame as geometrical elements/
6296  //! \return dtkNoError if OK
6298 
6299  //! \brief Merges texts and geometrical element of the given Dtk_Symbol into this Dtk_Symbol
6300  //! \param inSymbolToBeMerged Dtk_Symbol to be merged into.
6301  void MergeWithOtherSymbol(const Dtk_SymbolPtr &inSymbolToBeMerged);
6302 
6303  //! \Transform{inTransfo}
6305 
6306 };
6307 
6308 //! \ingroup draw
6309 //! \class Dtk_Drawing
6310 //! \brief This is the drawing class.\n
6311 //! It basically contains a Dtk_View array
6312 //! \SmartPtr{Dtk_DrawingPtr}
6313 class Dtk_Drawing : public Dtk_Entity
6314 {
6315 protected:
6316  struct Dtk_Handle; // Not defined here
6317  std::unique_ptr<Dtk_Handle> _Private; // Handle
6318  enum {
6319  _typeID = DTK_TYPE_DRAWING
6320  };
6321 
6322 private:
6323 
6324  Dtk_Drawing(const Dtk_Drawing & );
6326  //! \sa Create()
6327  Dtk_Drawing();
6328  ~Dtk_Drawing();
6329  inline virtual Dtk_Object* Clone() { return new Dtk_Drawing(*this); }
6330 
6331 private:
6332  friend class Dtk_SmartPtr<Dtk_Drawing>;
6333 
6334 public:
6335  //! \DtkDynamicType
6337 
6338  //! \DtkDynamicCast
6340 
6341  //! \CreateBase
6343 
6344  //! \CreateCopy{in}
6345  static Dtk_DrawingPtr Create(const Dtk_Drawing &in);
6346 
6347  //! \return The type of the entity type - DTK_TYPE_DRAWING -
6349  {
6350  return DTK_TYPE_DRAWING;
6351  }
6352 
6353  //! \brief Adds a view into the drawing
6354  //! \param inViewtoBeAdded Dtk_View to be added.
6355  //! \return DtkNoError if OK
6356  Dtk_ErrorStatus AddView(const Dtk_ViewPtr &inViewtoBeAdded);
6357 
6358  //! \DtkInternal
6360 
6361  //! \brief Adds a view into the drawing
6362  //! \param inView Dtk_View to be added.
6363  //! \param inOrigin Origin of the view in the Dtk_Drawing.
6364  //! \return DtkNoError if OK
6365  Dtk_ErrorStatus AddView(const Dtk_ViewPtr& inView, const Dtk_pnt& inOrigin);
6366 
6367  //! \brief Retrieves the ith Dtk_View - get/set -.
6368  //! \param inPos View index.
6369  //! \return the inPos'th Dtk_View.
6370  //! \sa GetView(const Dtk_Size_t&) const
6372 
6373  //! \brief Retrieves the ith Dtk_View - read only -.
6374  //! \param inPos View index.
6375  //! \return the inPos'th Dtk_View.
6376  //! \sa GetView(const Dtk_Size_t&)
6377  const Dtk_ViewPtr& GetView(const Dtk_Size_t &inPos)const;
6378 
6379  //! \brief Retrieves the drawing width - get/set -.
6380  //! \return the drawing width.
6381  //! \sa Width() const
6383 
6384  //! \brief Retrieves the drawing width - read only -.
6385  //! \return the drawing width.
6386  //! \sa Width()
6387  const Dtk_Double64 &Width() const;
6388 
6389  //! \brief Retrieves the drawing height - get/set -.
6390  //! \return the drawing height.
6391  //! \sa Height() const
6393 
6394  //! \brief Retrieves the drawing height - read only -.
6395  //! \return the drawing height.
6396  //! \sa Height()
6397  const Dtk_Double64 &Height() const;
6398 
6399  //! \brief Retrieves the views number - read only -.
6400  //! \return The views number.
6402 
6403  //! \brief Retrieves the 2D entities number - read only -.
6404  //! \return The 2D entities number.
6405  SetAsDeprecated( "2025.4", "Please remove calls to this function, it will always return 0." )
6406  Dtk_Size_t GetNum2dEntities_Deprecated254() const;
6407 
6408  //! \brief Retrieves the origin points number - read only -.
6409  //! \return The origin points number.
6410  Dtk_Size_t GetNumOrigins() const;
6411 
6412  //! \brief Retrieves the origin Dtk_pnt - get/set -.
6413  //! \param inPos origin Dtk_pnt index.
6414  //! \return the inPos'th origin Dtk_pnt.
6415  //! \sa GetOrigin(const Dtk_Size_t&) const
6416  Dtk_pnt& GetOrigin(const Dtk_Size_t &inPos);
6417 
6418  //! \brief Retrieves the ith origin Dtk_pnt - read only -.
6419  //! \param inPos origin Dtk_pnt index.
6420  //! \return the inPos'th origin Dtk_pnt.
6421  //! \sa GetOrigin(const Dtk_Size_t&)
6422  const Dtk_pnt& GetOrigin(const Dtk_Size_t &inPos) const;
6423 
6424  //! \brief Retrieves the 2D entity - get/set -.
6425  //! \param inPos 2D entity index.
6426  //! \return the inPos'th 2D entity.
6427  //! \sa Get2dEntity(const Dtk_Size_t&) const
6428  SetAsDeprecated( "2025.4", "Please remove calls to this function, it will always return a null object." )
6429  Dtk_2dEntityPtr& Get2dEntity_Deprecated254(const Dtk_Size_t &inPos);
6430 
6431  //! \brief Retrieves the ith 2D entity - read only -.
6432  //! \param inPos 2D entity index.
6433  //! \return the inPos'th 2D entity.
6434  //! \sa Get2dEntity(const Dtk_Size_t&)
6435  SetAsDeprecated( "2025.4", "Please remove calls to this function, it will always return a null object." )
6436  const Dtk_2dEntityPtr& Get2dEntity_Deprecated254(const Dtk_Size_t &inPos) const ;
6437 
6438  //! \Transform{inTransfo}
6440 };
6441 
6442 //! \ingroup draw
6443 //! \class Dtk_ViewDisplay
6444 //! \brief This is the Dtk_ViewDisplay class to set the Display mode for the bodies stored in a view.
6445 //! \SmartPtr{Dtk_ViewDisplayPtr}
6447 {
6448 public:
6450  {
6451  DefaultDisplay = 0,
6452  //! \image html WireframeDisplay.png
6453  WireframeDisplay = 1,
6454  //! \image html WithHiddenDisplay.png
6455  WithHiddenDisplay = 2,
6456  //! \image html NoHiddenDisplay.png
6457  NoHiddenDisplay = 3,
6458  //! \image html ShadingDisplay.png
6459  ShadingDisplay = 4,
6460  //! \image html ShadingWithEdgeDisplay.png
6461  ShadingWithEdgeDisplay = 5
6462  };
6463 
6464 protected:
6465  struct Dtk_Handle; // Not defined here
6466  std::unique_ptr<Dtk_Handle> _Private; // Handle
6467  enum
6468  {
6469  _typeID = DTK_TYPE_VIEW_DISPLAY
6470  };
6471 
6472  //! \sa Create()
6474  //! \sa Create( const Dtk_View& )
6477  //! \sa Create( DisplayMode3DEnum )
6479  inline virtual Dtk_Object* Clone(){ return new Dtk_ViewDisplay( *this ); }
6480  //! \BaseDestructor
6482 private:
6483  friend class Dtk_SmartPtr<Dtk_ViewDisplay>;
6484 public:
6485  //! \DtkDynamicType
6487 
6488  //! \DtkDynamicCast
6490 
6491  //! \return The type of the entity type - DTK_TYPE_VIEW_DISPLAY -
6493  {
6494  return DTK_TYPE_VIEW_DISPLAY;
6495  }
6496 
6497  //! \CreateBase
6499 
6500  //! \CreateCopy{in}
6502 
6503 
6504  //! \brief Return the Display Mode
6506 
6507  //! \brief Retrieves Line style for Visible Edges
6508  //! \param outLineFont Line Font - Solid, Dimmed, ...-
6509  //! \param outLineWidth Line Width in MM
6510  //! \param outLineColor Line Color
6511  //! \return dtkNoError if Success.
6512  Dtk_ErrorStatus GetVisibleEdgesLineStyle( Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor ) const;
6513 
6514  //! \brief Set Line style for Visible Edges
6515  //! \param inLineFont Line Font - Solid, Dimmed, ...-
6516  //! \param inLineWidth Line Width in MM
6517  //! \param inLineColor Line Color
6518  void SetVisibleEdgesLineStyle( Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor );
6519 
6520  //! \brief Retrieves Line style for Hidden Edges
6521  //! \param outLineFont Line Font - Solid, Dimmed, ...-
6522  //! \param outLineWidth Line Width in MM
6523  //! \param outLineColor Line Color
6524  //! \return dtkNoError if Success.
6525  Dtk_ErrorStatus GetHiddenEdgesLineStyle( Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor ) const;
6526 
6527  //! \brief Set Line style for Hidden Edges
6528  //! \param inLineFont Line Font - Solid, Dimmed, ...-
6529  //! \param inLineWidth Line Width in MM
6530  //! \param inLineColor Line Color
6531  void SetHiddenEdgesLineStyle( Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor );
6532 
6533  //! \brief Retrieves Line style for Tangent Edges
6534  //! \param outLineFont Line Font - Solid, Dimmed, ...-
6535  //! \param outLineWidth Line Width in MM
6536  //! \param outLineColor Line Color
6537  //! \return dtkNoError if Success.
6538  Dtk_ErrorStatus GetTangentEdgesLineStyle( Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor ) const;
6539 
6540  //! \brief Set Line style for Tangent Edges
6541  //! \param inLineFont Line Font - Solid, Dimmed, ...-
6542  //! \param inLineWidth Line Width in MM
6543  //! \param inLineColor Line Color
6544  void SetTangentEdgesLineStyle( Dtk_FontLineType inLineFont, Dtk_Double64 inLineWidth, Dtk_RGB inLineColor );
6545 
6546 
6547 };
6548 
6549 
6550 //! \ingroup draw
6551 //! \class Dtk_View
6552 //! \brief This class is used to represent a drawing view of a 3D model.
6553 //! 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.
6554 //! \SmartPtr{Dtk_ViewPtr}
6555 class Dtk_View : public Dtk_Entity
6556 {
6557 public:
6559  {
6560  // Unspecified view type.
6561  NoTypeView = 0,
6562  // View focused on a specific area of a model.
6563  DetailView = 1,
6564  // View representing a section of a model.
6565  SectionView = 2,
6566  // View showing a model with a portion removed to save space on the drawing.
6567  BrokenView = 4,
6568  // Dtk_View containing the title block area of a sheet.
6569  TitleBlockView = 8,
6570  // Dtk_View containing entities on sheet that are not related to any view of a 3D model.
6571  SheetView = 16
6572  };
6573 protected:
6574  struct Dtk_Handle; // Not defined here
6575  std::unique_ptr<Dtk_Handle> _Private; // Handle
6576  enum {
6577  _typeID = DTK_TYPE_VIEW
6578  };
6579 
6580  //! \sa Create()
6582  //! \sa Create(const Dtk_View&)
6583  Dtk_View(const Dtk_View &s);
6585  inline virtual Dtk_Object* Clone() { return new Dtk_View(*this); }
6587 private:
6588  friend class Dtk_SmartPtr<Dtk_View>;
6589 public:
6590  //! \DtkDynamicType
6592 
6593  //! \DtkDynamicCast
6595 
6596  //! \return The type of the entity type - DTK_TYPE_VIEW -
6598  {
6599  return DTK_TYPE_VIEW;
6600  }
6601 
6602  //! \CreateBase
6604 
6605  //! \CreateCopy{in}
6606  static Dtk_ViewPtr Create(const Dtk_View &in);
6607 
6608  //! \brief Adds a 2D entity to the view
6609  //! \param in2DEntity 2D entity to be added.
6610  //! \return DtkNoError if OK.
6612 
6613  //! \brief Adds an array of 2D entities to the view
6614  //! \param in2DEntitiesArray Array of 2D entities to be added.
6615  //! \return DtkNoError if OK.
6617  const Dtk_tab<Dtk_2dEntityPtr> &in2DEntitiesArray);
6618 
6619  //! \brief Adds an entity, Dtk_Hatching, curve and point to the view ( other type are not supported )
6620  //! \param inEnt Entity to be added.
6621  //! \return DtkNoError if OK.
6623 
6624  //! \brief Adds an array of 2D entities, Dtk_Hatching, curve and point to the view ( other type are not supported )
6625  //! \param inEntitiesArray Array of entities to be added.
6626  //! \return DtkNoError if OK.
6628 
6629  //! \brief Retrieves the 2D entities number - read only -
6630  //! \returns The 2D entities number.
6632 
6633  //! \brief Retrieves the ith 2D entity.
6634  //! \param inPos 2D entity index.
6635  //! \return the inPos'th 2D entity.
6637 
6638  //! \brief Retrieves the ith 2D entity.
6639  //! \param inPos 2D entity index.
6640  //! \return the inPos'th 2D entity.
6641  //! \sa Get2dEntity(const Dtk_Size_t &)
6643 
6644  //! \return The ith clipping
6645  //! \param inPos clipping plane index.
6646  //! \return the inPos'th clipping plane.
6648 
6649  //! \return The clipping boundary
6650  //! \return the Dtk_CompositeEntityPtr which defines the boundary.
6652 
6653  //! \brief Adds a drawing geometrical entity to the view
6654  //! \param inGeomElt geometrical entity to be added.
6655  //! only Dtk_pnt and Dtk_Curve are allowed
6656  //! \return DtkNoError if OK.
6657  //! dtkErrorTypeNotsupported if entity isn't a Curve or a point
6659 
6660  //! \brief Retrieves the number of geometrical entity to the view
6661  //! \return size of the array
6663 
6664  //! \brief Retrieves the ith geometrical entity.
6665  //! \param inPos geometrical entity index.
6666  //! \return the inPos'th geometrical entity.
6668 
6669  //! \brief Adds a Body displayed in the view
6670  //! \param inBody Body to be displayed.
6671  //! \return DtkNoError if OK.
6673 
6674  //! \brief Adds an array of bodies displayed in the view
6675  //! \param inBodyArray Array of bodies to be displayed.
6676  //! \return DtkNoError if OK.
6678 
6679  //! \brief Retrieves the bodies number to be displayed
6680  //! \returns The bodies number.
6682 
6683  //! \brief Retrieves the ith Body.
6684  //! \param inPos Body index.
6685  //! \return the inPos'th Body.
6686  Dtk_BodyPtr GetBody(const Dtk_Size_t &inPos) const;
6687 
6688  //! \brief Retrieves the bodies needed to be displayed
6689  //! \returns The bodies to be displayed.
6691 
6692  //! \brief Retrieves the camera used for projection in the view - read only -.
6694  //! \brief Set the camera used for 3D entities projection in the view.
6696 
6697  //! \brief SetDisplayMode for 3D entity to be displayed
6698  //! \param inDisplay Body index.
6700 
6701  //! \brief GetDisplayMode for 3D entity
6702  //! \returns The Display View.
6704 
6705  //! \brief Adds a picture to the view
6706  //! \param inPicture Picture to be added.
6707  //! \return dtkNoError if OK.
6709 
6710  //! \brief Adds an array of pictures to the view
6711  //! \param inPicturesArray Array of pictures to be added.
6712  //! \return dtkNoError if OK.
6714  const Dtk_tab<Dtk_picturePtr> &inPicturesArray );
6715 
6716  //! \brief Retrieves the pictures number - read only -
6717  //! \returns The pictures number.
6719 
6720  //! \brief Retrieves the ith Picture.
6721  //! \param inPos Picture index.
6722  //! \return the inPos'th Picture.
6723  Dtk_picturePtr GetPicture( const Dtk_Size_t &inPos ) const;
6724 
6725  //! \brief Adds a Dtk_OLEObjectPtr to the view
6726  //! \param inOLEObject Dtk_OLEObjectPtr to be added.
6727  //! \return dtkNoError if OK.
6729  //! \brief Adds an array of Dtk_OLEObjectPtr to the view
6730  //! \param inOleObjects Array of Dtk_OLEObjectPtr to be added.
6731  //! \return dtkNoError if OK.
6733  //! \brief Retrieves the number of OLE Objects in the Dtk_View.
6735  //! \brief Retrieves the OLE Object at index.
6736  Dtk_OLEObjectPtr GetOLEObject( const Dtk_Size_t & inIndex ) const;
6737 
6738 
6739  //! \brief Retrieves the Dtk_View scale - read only -.
6740  //! \returns The Dtk_View scale.
6741  //! \sa Scale()
6742  const Dtk_Double64& Scale() const;
6743 
6744  //! \brief Retrieves the Dtk_View scale - get/set-.
6745  //! \returns The Dtk_View scale.
6746  //! \sa Scale() const
6748 
6749  //! \brief Retrieves the Dtk_View angle - read only -.
6750  //! \returns The Dtk_View angle.
6751  //! \sa Angle()
6752  const Dtk_Double64& Angle() const;
6753 
6754  //! \brief Retrieves the Dtk_View angle - get/set-.
6755  //! \returns The Dtk_View angle.
6756  //! \sa Angle() const
6758 
6759  //! \brief Retrieves the Dtk_View transformation matrix - read only -.
6760  //! \returns The Dtk_View transformation matrix.
6761  //! \sa TransformationMatrix()
6763 
6764  //! \brief Retrieves the Dtk_View transformation matrix - get/set-.
6765  //! \returns The Dtk_View transformation matrix.
6766  //! \sa TransformationMatrix() const
6768 
6769  //! \brief Sets the ith clipping plane informations.
6770  //! \param inPos The clipping plane index.
6771  //! \param inLocation The clipping plane location.
6772  //! \param inRefAxis The clipping plane reference axis.
6773  //! \param inNormalAxis The clipping plane normal axis.
6774  //! \return DtkNoError if OK.
6776  const Dtk_pnt &inLocation,const Dtk_dir &inRefAxis,
6777  const Dtk_dir &inNormalAxis);
6778 
6779 
6780  //! \brief Sets the clipping boundary informations.
6781  void SetClippingBoundary(const Dtk_CompositeEntityPtr &inBoundary) const;
6782 
6783  //! \Transform{inTransfo}
6785 
6786  //! \brief Checks if the view is of a given type.
6787  bool IsView( ViewType typeView );
6788 
6789  //! \brief Set the view as being of a given type.
6790  void AddView( ViewType typeView );
6791 };
6792 
6793 
6794 //////////////////////////////////////////////////////////////////////////////////////////
6795 //FDT Classes
6796 //! \class Dtk_Fdt
6797 //! \brief This is the FD&T class.\n
6798 //! The base PMI Class contains a \DtkLinkToPtr{Dtk_2dEntity} and Transformation Matrix
6799 //! to locate the FDT into 3D Space.\n
6800 //! \SmartPtr{Dtk_FdtPtr}
6801 class Dtk_Fdt : public Dtk_Entity
6802 {
6803 public:
6805  { //! The annotation display isn't bound to the viewport.
6806  Default = 0,
6807  //! Keep the annotation facing the viewport - Rotate won't have effect on annotation display -. Pan/Zoom WILL have effect on annotation display.
6808  ParallelToScreen = 1,
6809  //! 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.
6810  PinToScreen = 2
6811  };
6813  {
6814  switch( inEnum )
6815  {
6816  default:
6817  case Default: return L"Default";
6818  case ParallelToScreen: return L"ParallelToScreen";
6819  case PinToScreen: return L"PinToScreen";
6820  }
6821  }
6822 protected:
6823  struct Dtk_Handle; // Not defined here
6824  std::unique_ptr<Dtk_Handle> _Private; // Handle
6825  enum
6826  {
6827  _typeID = DTK_TYPE_FDT
6828  };
6829 
6830  //! \sa Create()
6832  //! \sa Create(const Dtk_Fdt &)
6833  Dtk_Fdt(const Dtk_Fdt & );
6835  //! \sa Create(const Dtk_transfo &, const Dtk_2dEntityPtr &)
6836  Dtk_Fdt(const Dtk_transfo &inTransforansform,
6837  const Dtk_2dEntityPtr &entity2D);
6838  inline virtual Dtk_Object* Clone() { return new Dtk_Fdt(*this); }
6839 
6840  //! \BaseDestructor
6841  virtual ~Dtk_Fdt();
6842 
6843 private:
6844  friend class Dtk_SmartPtr<Dtk_Fdt>;
6845 public:
6846  //! \DtkDynamicType
6848 
6849  //! \DtkDynamicCast
6851 
6852  //! \CreateBase
6853  static Dtk_FdtPtr Create();
6854 
6855  //! \CreateCopy{s}
6856  static Dtk_FdtPtr Create(const Dtk_Fdt &s);
6857 
6858  //! \brief Calls full featured constructor to allocate a new object.
6859  //! \param inTransformationMatrix The Transformation Matrix
6860  //! \param inSub2DEntity The sub 2D entity
6861  static Dtk_FdtPtr Create(const Dtk_transfo &inTransformationMatrix,
6862  const Dtk_2dEntityPtr &inSub2DEntity);
6863 
6864  //! \return The type of the entity type - DTK_TYPE_FDT -
6866  {
6867  return DTK_TYPE_FDT;
6868  }
6869 
6870  //! \brief Sets the ScreenDisplay attribute of the Dtk_Fdt.
6871  //! \param inType The Dtk_Fdt ScreenDisplay attribute
6872  //! \sa SetScreenDisplayAttribute()
6874 
6875  //! \brief Gets the ScreenDisplay attribute of the Dtk_Fdt.
6876  //! \return The Dtk_Fdt ScreenDisplay attribute
6877  //! \sa GetScreenDisplayAttribute() const
6879 
6880  //! \brief Sets the DisplayBackground color id of the Dtk_Fdt.
6881  //! \param inData the color id
6882  //! \sa SetDisplayBackgroundColorId()
6884 
6885  //! \brief Gets the DisplayBackground color id of the Dtk_Fdt.
6886  //! \param outColorIdData : if present the color id >=0
6887  //! \return if present dtkNoError otherwise dtkErrorUnspecified
6888  //! \sa GetDisplayBackgroundColorId()
6890 
6891 
6892  //! \brief Sets the Zoomable attribute of the Dtk_Fdt.
6893  //! \param inBool The Dtk_Fdt zoomable attribute
6894  //! \sa SetIsZoomableAttribute() const
6895  //! \remark : by default fdt will be zoomable
6896  void SetIsZoomableAttribute( const bool &inBool );
6897 
6898  //! \brief Gets the Zoomable attribute of the Dtk_Fdt.
6899  //! \return The Dtk_Fdt Zoomable attribute
6900  //! \sa GetIsZoomableAttribute() const
6901  bool GetIsZoomableAttribute( ) const;
6902 
6903  //! \brief Retrieves the transformation matrix - read only -.
6904  //! \return The transformation matrix.
6905  //! \sa TransformationMatrix()
6907 
6908  //! \brief Retrieves the transformation matrix - get/set -.
6909  //! \return The transformation matrix.
6910  //! \sa TransformationMatrix() const
6912 
6913  //! \brief Retrieves the sub 2D entity - read only -.
6914  //! \return The sub 2D entity.
6915  //! \sa Sub2DEntity()
6917 
6918  //! \brief Retrieves the sub 2D entity - get/set -.
6919  //! \return The sub 2D entity.
6920  //! \sa Sub2DEntity() const
6922 
6923  //! \Transform{inTransfo}
6925 };
6926 
6927 
6928 //////////////////////////////////////////////////////////////////////////////////////////
6929 //! \class Dtk_Camera
6930 //! \brief This is the Camera class.\n This class lets you define elements to create frustum.\n
6931 //! \SmartPtr{Dtk_CameraPtr}
6932 //! \brief The camera can be parallel:
6933 //! \image html CameraParallelGlobal.png
6934 //! \brief ...or perspective:
6935 //! \image html CameraPerspectiveGlobal.png
6936 class Dtk_Camera : public Dtk_Entity
6937 {
6938 public:
6940  ProjectionTypeUnknown = 0,
6942  ProjectionTypePerspective
6943  };
6945  {
6946  NoZoomFit = 0, //The camera doesn't need to be zoom fitted.
6947  ZoomFitAllScene, //The camera needs to be zoom fitted to the entire scene.
6948  };
6949  protected:
6950  struct Dtk_Handle; // Not defined here
6951  std::unique_ptr<Dtk_Handle> _Private; // Handle
6952  enum { _typeID = DTK_TYPE_CAMERA };
6953  //! \sa Create()
6955  //! \sa Create(const Dtk_Camera&)
6958  inline virtual Dtk_Object* Clone() { return new Dtk_Camera(*this); }
6960 private:
6961  friend class Dtk_SmartPtr<Dtk_Camera>;
6962 public:
6963 
6964  //! \DtkDynamicType
6966 
6967  //! \DtkDynamicCast
6969 
6970  //! \return The type of the entity type - DTK_TYPE_CAMERA -
6972 
6973  //! \CreateBase
6975  //! \CopyConstructor{in}
6976  static Dtk_CameraPtr Create( Dtk_Camera const& in );
6977 
6978  //! \deprecated Use Create( const Dtk_pnt& inOriginPoint,
6979  //! const Dtk_pnt& inTarget,
6980  //! const Dtk_dir& inUpVector,
6981  //! const Dtk_Double64 inSemiWidth,
6982  //! const Dtk_Double64 inSemiHeight,
6983  //! const ProjectionTypeEnum& inProjectionType,
6984  //! const ZoomFitModeEnum inZoomFitMode) method instead.
6985  //! \brief Calls full featured constructor to allocate a new object.
6986  //! \param inOriginPoint The Dtk_Camera location point
6987  //! \param inTarget The Target vector
6988  //! \param inUpVector The Up vector
6989  //! \param inAngle The angle - in Degrees - - will be used to process Semi-Width/Semi-Height -
6990  //! \param inFocus The focus - This value will be ignored -
6991  //! \param inZoomFactor The zoom factor - 1.0 by default - - This value will be ignored -
6992  //! \param inProjectionType The projection type - ProjectionTypeParallel by default -
6993  //! \param inZoomFitMode The Zoom Fit Mode - NoZoomFit by default -
6994  //! \return The created Dtk_CameraPtr
6996  const Dtk_pnt& inOriginPoint,
6997  const Dtk_pnt& inTarget,
6998  const Dtk_dir& inUpVector,
6999  const double& inAngle,
7000  const double& inFocus,
7001  const double& inZoomFactor = 1.0,
7002  const ProjectionTypeEnum inProjectionType = ProjectionTypeParallel,
7003  const ZoomFitModeEnum inZoomFitMode = NoZoomFit );
7004 
7005  //! \brief Calls full featured constructor to allocate a new object.
7006  //! \param inOriginPoint The Dtk_Camera location point
7007  //! \param inTarget The Target vector
7008  //! \param inSemiWidth Semi-Width of the Pyramid/Block Camera Frustum - in mm -
7009  //! \param inSemiHeight Semi-Height of the Pyramid/Block Camera Frustum - in mm -
7010  //! \param inUpVector The Up vector
7011  //! \param inProjectionType The projection type - ProjectionTypeParallel by default -
7012  //! \param inZoomFitMode The Zoom Fit Mode - NoZoomFit by default -
7013  //! \return The created Dtk_CameraPtr
7015  const Dtk_pnt& inOriginPoint,
7016  const Dtk_pnt& inTarget,
7017  const Dtk_Double64 inSemiWidth,
7018  const Dtk_Double64 inSemiHeight,
7019  const Dtk_dir& inUpVector,
7020  const ProjectionTypeEnum inProjectionType = ProjectionTypeParallel,
7021  const ZoomFitModeEnum inZoomFitMode = NoZoomFit );
7022 
7023  //! \Transform{inTransfo}
7024  //! \return dtkErrorUnspecified if the resulting Dtk_Camera is not valid, DtkNoError otherwise.
7026 
7027  //! \brief Retrieves the origin point - read only -
7028  //! \return The origin point
7029  const Dtk_pnt& OriginPoint() const;
7030 
7031  //! \brief Retrieves the target point - read only -
7032  //! \return The target point
7033  const Dtk_pnt& TargetPoint() const;
7034 
7035  //! \brief Retrieves the up vector - read only -
7036  //! \return The up vector
7037  const Dtk_dir& UpVector() const;
7038 
7039  //! \brief Processes the Focus Distance ie the Distance between the Origin and the Target points - read only -
7040  //! \return The Focus Distance in mm.
7042 
7043  //! \brief Retrieves the Camera Base Semi Width - read only -
7044  //! \return The Base Width in mm.
7046 
7047  //! \brief Retrieves the Camera Base Semi Height - read only -
7048  //! \return The Base Height in mm.
7050 
7051  //! \brief Retrieves the projection type - read only -
7052  //! \return The projection type
7054 
7055  //! \brief Retrieves the zoom fit mode - read only -
7056  //! \return The zoom fit mode
7058 
7059  //! \brief Processes the X - along width - zoom factor - read only -
7060  //! \return The X zoom factor, 0.0 if Dtk_Camera is not valid.
7061  //! \remark The X Zoom Factor is equal to 1. / GetSemiWidth()
7062  //! \remark The X Zoom Factor is relevant for Parallel Camera.
7063  Dtk_Double64 ProcessXZoomFactor() const { return IsValid() ? ( 1. / GetSemiWidth() ) : 0.; }
7064 
7065  //! \brief Processes the Y - along height - zoom factor - read only -
7066  //! \return The Y zoom factor, 0.0 if Dtk_Camera is not valid.
7067  //! \remark The Y Zoom Factor is equal to 1. / GetSemiHeight()
7068  //! \remark The Y Zoom Factor is relevant for Parallel Camera.
7069  Dtk_Double64 ProcessYZoomFactor() const { return IsValid() ? ( 1. / GetSemiHeight() ) : 0.; }
7070 
7071  //! \brief Processes the X - along width - Semi Angle - read only -
7072  //! \image html CameraXSemiAngle.png
7073  //! \return The X Semi-Angle in Radians, 0.0 if Dtk_Camera is not valid.
7074  //! \remark The X Semi-Angle is equal to atan( GetSemiWidth() / GetFocusDistance() )
7075  //! \remark The X Semi-Angle is relevant for Perspective Camera.
7076  inline Dtk_Double64 ProcessXSemiAngle() const { return IsValid() ? ( atan( GetSemiWidth() / GetFocusDistance() ) ) : 0.; }
7077 
7078  //! \brief Processes the Y - along height - Semi Angle - read only -
7079  //! \image html CameraYSemiAngle.png
7080  //! \return The Y Semi-Angle in Radians, 0.0 if Dtk_Camera is not valid.
7081  //! \remark The Y Semi-Angle is equal to atan( GetSemiHeight() / GetFocusDistance() )
7082  //! \remark The Y Semi-Angle is relevant for Perspective Camera.
7083  inline Dtk_Double64 ProcessYSemiAngle() const { return IsValid() ? ( atan( GetSemiHeight() / GetFocusDistance() ) ) : 0.; }
7084 
7085  //! \deprecated Use TargetPoint() const method instead.
7086  //! \brief Retrieves the target vector - read only -
7087  //! \return The target vector
7089 
7090  //! \deprecated Use ProcessXSemiAngle() const or ProcessYSemiAngle() const methods instead.
7091  //! \sa ProcessXSemiAngle() const
7092  //! \return The X Semi angle in Degrees, 0.0 if Dtk_Camera is not valid.
7093  //! \return The angle
7094  inline Dtk_Double64 Angle() const { return ProcessXSemiAngle() * 180. / DTK_PI; }
7095 
7096  //! \deprecated Use ProcessXZoomFactor() const or ProcessYZoomFactor() const methods instead.
7097  //! \sa ProcessXZoomFactor() const, 0.0 if Dtk_Camera is not valid.
7098  //! \brief Processes the X - width - zoom factor - read only -
7099  //! \return The X zoom factor
7100  inline Dtk_Double64 ZoomFactor() const { return ProcessXZoomFactor(); }
7101 
7102  //! \deprecated This method has been superseed by GetFocusDistance() const method.
7103  //! \sa GetFocusDistance() const
7104  inline Dtk_Double64 Focus() const { return GetFocusDistance(); }
7105 
7106  //! \brief Checks if the Dtk_Camera is valid. For this:
7107  //! - The Focus Distance must be >= DTK_TOLERANCE.
7108  //! - The Semi-Width must be >= DTK_TOLERANCE.
7109  //! - The Semi-Height must be >= DTK_TOLERANCE.
7110  //! \return DTK_TRUE if the Dtk_Camera is valid, DTK_FALSE otherwise.
7111  inline Dtk_bool IsValid() const
7112  {
7113  if( GetFocusDistance() < DTK_TOLERANCE ||
7114  GetSemiWidth() < DTK_TOLERANCE ||
7115  GetSemiHeight() < DTK_TOLERANCE )
7116  {
7117  return DTK_FALSE;
7118  }
7119  else
7120  {
7121  return DTK_TRUE;
7122  }
7123  }
7124 
7125  //! \brief set the Front Clipping Distance et Back Clipping Distance
7126  void SetClippingDistance(const Dtk_Double64& inFrontDistance ,const Dtk_Double64& inBackDistance ) const;
7127 
7128  //! \brief get the Front Clipping Distance et Back Clipping Distance
7129  void GetClippingDistance( Dtk_Double64& outFrontDistance, Dtk_Double64& outBackDistance ) const;
7130 
7131 };
7132 
7133 
7134 
7135 typedef enum
7136 {
7142 
7143 
7144 //! \class Dtk_HatchingPattern
7145 //! \brief This is the Hatching Pattern class. This describes a repetition of lines/dots or coloring. It includes line style and colors as well.
7147 {
7148 public :
7149 
7157 
7158  //! \BaseConstructor
7159  Dtk_HatchingPattern() :_angle( 0.0 ), _line_style( 0 ), _line_width( 0.0 ), _offset( 0.0 ), _style( Dtk_HatchingStyle_Unknown ), _pitch( 0.0 ){}
7160 
7168 
7169  //! \brief Retrieves the hatching style, one of the following : hatching, coloring or dotting.
7170  //! \return The hatching style : Dtk_HatchingStyle_Hatching, Dtk_HatchingStyle_Coloring or Dtk_HatchingStyle_Dotting
7171  //! \image html DtkHatchingStyles.png
7173 
7174  //! \brief Retrieves the position start offset along the hatch line. Applies for hatching and dotting.
7175  //! \return The first position offset along the hatch line
7176  const Dtk_Double64 & Offset () const;
7177  //! \brief Retrieves the position offset perpendicular to the hatch line (or dot). Applies for hatching and dotting.
7178  //! \return The position offset perpendicular to the hatch line
7179  //! \image html DtkHatchingPitch.png
7180  const Dtk_Double64 & Pitch () const;
7181  //! \brief Retrieves the angle between horizontal line and hatch line (or dot). Applies for hatching and dotting.
7182  //! \return The angle between horizontal line and hatch line
7183  //! \image html DtkHatchingAngle.png
7184  const Dtk_Double64 & Angle () const;
7185  //! \brief Retrieves the color of the pattern element.
7186  //! \return The color of the pattern element.
7187  const Dtk_RGB & Color () const;
7188  //! \brief Retrieves the hatch line type. Applies for hatching. The value can be casted to enum ::Dtk_FontLineType
7189  //! Returns one of the following values :
7190  //! \sa 0 : No Pattern
7191  //! \sa 1 : ________________________________ Solid
7192  //! \sa 2 : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Dash
7193  //! \sa 3 : ________ _ _ _________ _ _ _____ Phantom
7194  //! \sa 4 : ________ _ _________ _ _________ Center Line
7195  //! \sa 5 : ................................ Dotted
7196  //! \sa 6 : ___ ___ ___ ___ ___ ___ ___ ___ Long Dashed
7197  //! \sa 7 : ___ . ___ . ___ . ___ . ___ . __ Dotted Dashed
7198  //! \sa 8 : --'\,-----'\,-----'\,-----'\,--- Breakline
7199  const Dtk_Int32 & LineType () const;
7200  //! \brief Retrieves the hatch line width. Applies for hatching.
7201  //! \return The hatch line width
7202  const Dtk_Double64 & LineWidth () const;
7203 
7204 };
7205 
7206 //! \class Dtk_Boundary
7207 //! \brief This is the Boundary class.
7208 //! The boundary defines the curves that delimit a closed area.
7209 class Dtk_Boundary : public Dtk_Object
7210 {
7211 protected:
7212  struct Dtk_Handle; // Not defined here
7213  std::unique_ptr<Dtk_Handle> _Private; // Handle
7214  enum
7215  {
7216  _typeID = DTK_TYPE_BOUNDARY
7217  };
7218 
7219 public:
7220 
7221  //! \brief Construct a boundary provided both its exact representation as curves, as well as a simplified representation as a polyline.
7222  //! \details It is expected that both definitions match, that is to say they represent the same geometry.
7223  //! In case the simplified representation isn't provided, it will be computed based on the exact representation by calling Dtk_Curve::ToPolyline.
7224  //! \param[in] exactRepresentation : a contiguous sequence of curves representing the exact definition of the boundary.
7225  //! \param[in] simplifiedRepresentation : a single polyline representing the boundary.
7227  Dtk_PolylinePtr simplifiedRepresentation );
7228 
7229  //! \CopyConstructor{in}
7231  //! \MoveConstructor{in}
7233 
7234  //! \BaseDestructor
7236 
7237  //! \DtkDynamicType
7239 
7240  //! \DtkDynamicCast
7242 
7244 
7245  //! \AssignmentOp{in}
7247  //! \MoveOp{in}
7249 
7250  //! \Transform{inTransfo}
7252 
7253  //! \brief Retrieves all curves linked together that makes a boundary.
7254  //! \return An array of curves, all linked together with ordering.
7256  //! \brief Retrieves a simplified representation of the boundary as a polyline.
7257  //! Useful for simple display.
7258  //! \return The simplified polyline representation of the boundary.
7260 };
7261 
7262 //! \class Dtk_Hatching
7263 //! \brief This is the Hatching class.
7264 //! The hatching fills a closed area delimited by boundaries.
7265 //! The first boundary is the outer bounday, following boundaries are inner boundaries.
7266 //! A hatching area can include several ::Dtk_HatchingPattern patterns (repetition of decorated/styled lines, dots or simple solid coloring).
7267 //! \image html DtkHatching.png
7268 //! \SmartPtr{Dtk_HatchingPtr}
7269 class Dtk_Hatching : public Dtk_Entity
7270 {
7271 protected:
7272  struct Dtk_Handle; // Not defined here
7273  std::unique_ptr<Dtk_Handle> _Private; // Handle
7274  enum {
7275  _typeID = DTK_TYPE_HATCHING
7276  };
7277  //! \sa Create()
7279 
7280  //! \sa Create(const Dtk_Hatching&)
7283 
7284  //! \BaseDestructor
7286 
7287  inline virtual Dtk_Object* Clone() { return new Dtk_Hatching(*this); }
7288 
7289 private:
7290  friend class Dtk_SmartPtr<Dtk_Hatching>;
7291  void __GeneratePatternGeometries( const Dtk_HatchingPattern& inHatchingPattern, const Dtk_Oriented2dBBox& BoundariesBBox, Dtk_tab< Dtk_EntityPtr >& inoutResultEntities );
7292 public:
7293 
7294 
7295  //! \DtkDynamicType
7297 
7298  //! \DtkDynamicCast
7300 
7301  //! \CreateBase
7303  //! \CreateCopy{in}
7304  static Dtk_HatchingPtr Create( const Dtk_Hatching& in );
7305 
7307 
7308  //! \Transform{inTransfo}
7310 
7311  //! \brief Retrieves the hatching area boundaries as a span. The first boundary is the outer boundary.
7312  //! \warning If returned span is empty, please use Dtk_tab<Dtk_PolylinePtr> &Boundaries() to retrieve boundaries.
7313  //! \return The boundaries
7314  //! \see dtk::Span
7316 
7317  //! \brief Adds a boundary to the hatching area.
7318  //! \param boundary The boundary to add.
7319  void AddBoundary( Dtk_Boundary boundary );
7320 
7321  //! \brief Retrieves the hatching area boundaries as an array (of ordered polylines). The first boundary (this->Boundaries[0]) is the outer boundary.
7322  //! \return The boundaries
7324 
7325  //! \brief Retrieves the hatching area patterns. Patterns describes hatch line presentations (angle, pitch etc...)
7326  //! \return The patterns as Dtk_HatchingPattern objects
7328 
7329  //! \brief Specify if applying transform also scales pattern data. Not active by default.
7330  //! \param inApply Boolean denoting if scale shall be applied on pattern data - true by default -.
7331  void SetApplyScaleOnPattern( bool inApply = true );
7332 
7333  //! \brief Generate Pattern geometries from Dtk_Hatching.
7334  //! \param inXRefDir X reference vector - (1,0,0) by default -.
7335  //! \param inNormalDir Normal vector - (0,0,1) by default -.
7336  //! \return The generated geometries as Dtk_tab< Dtk_EntityPtr >
7337  //! \remark At this moment, we only handle hatching patterns - no point/fill pattern -.
7338  Dtk_tab< Dtk_EntityPtr > GeneratePatternGeometries(const Dtk_dir& inXRefDir = Dtk_dir(1., 0., 0.), const Dtk_dir& inNormalDir = Dtk_dir(0., 0., 1.) );
7339 };
7340 
7341 
7342 //! \ingroup draw
7343 //! \class Dtk_CompositeEntity
7344 //! \brief This is the Dtk_CompositeEntity class.
7345 //! \SmartPtr{Dtk_CompositeEntityPtr}
7347 {
7348 protected:
7349  struct Dtk_Handle; // Not defined here
7350  std::unique_ptr<Dtk_Handle> _Private; // Handle
7351  enum {
7352  _typeID = DTK_TYPE_COMPOSITE_ENTITY
7353  };
7354 
7355  //! \sa Create()
7357  //! \sa Create(const Dtk_CompositeEntity&)
7360 
7361  inline virtual Dtk_Object* Clone() { return new Dtk_CompositeEntity(*this); }
7362  //! \BaseDestructor
7364 private:
7365  friend class Dtk_SmartPtr<Dtk_CompositeEntity>;
7366 public:
7367  //! Resets all sub entities
7368  void Clear();
7369 
7370  //! \DtkDynamicType
7372 
7373  //! \DtkDynamicCast
7375 
7376  //! \return The type of the entity type - DTK_TYPE_VIEW -
7378  {
7380  }
7381 
7382  //! \CreateBase
7384 
7385  //! \CreateCopy{in}
7387 
7388  //! \brief Adds a Dtk_EntityPtr to the Dtk_CompositeEntity
7389  //! For that, it will check if the Dtk_EntityPtr is not NULL and if it has a handled type.\n
7390  //! The handled types are Dtk_CurvePtr / Dtk_PointPtr / Dtk_2dEntityPtr / Dtk_HatchingPtr.
7391  //! \param inElt The Dtk_EntityPtr to be added.
7392  //! \return DtkNoError if OK.
7393  //! \return dtkErrorNullPointer if inElt.IsNULL().
7394  //! \return dtkErrorTypeNotsupported if the entity type is not supported.
7396 
7397  //! \brief Adds an array of Dtk_EntityPtr.
7398  //! Calls Dtk_CompositeEntity::AddEntity for each elements.
7399  //! \param inEltArray Array of Dtk_EntityPtr to be added.
7400  //! \return DtkNoError if OK.
7401  void AddEntities(const Dtk_tab<Dtk_EntityPtr>& inEltArray);
7402 
7403  //! \brief Adds a Dtk_picturePtr to the Dtk_CompositeEntity
7404  //! For that, it will check if the Dtk_picturePtr is not NULL.
7405  //! \param inElt The Dtk_picturePtr to be added.
7406  //! \return DtkNoError if OK.
7407  //! \return dtkErrorNullPointer if inElt.IsNULL().
7409 
7410  //! \brief Adds an array of Dtk_EntityPtr.
7411  //! Calls Dtk_CompositeEntity::AddPicture for each elements.
7412  //! \param inEltArray Array of Dtk_picturePtr to be added.
7413  //! \return DtkNoError if OK.
7414  void AddPictures( const Dtk_tab<Dtk_picturePtr>& inEltArray );
7415 
7416  //! \brief Retrieves the number of Dtk_EntityPtr in Dtk_CompositeEntity
7417  //! \return size of the array
7419 
7420  //! \brief Retrieves the ith Dtk_EntityPtr.
7421  //! \param inPos Dtk_EntityPtr index.
7422  //! \return the inPos'th Dtk_EntityPtr.
7423  Dtk_EntityPtr GetEntity( const Dtk_Size_t& inPos ) const;
7424 
7425  //! \brief Retrieves the number of Dtk_picturePtr in Dtk_CompositeEntity
7426  //! \return size of the array
7428 
7429  //! \brief Retrieves the ith Dtk_picturePtr.
7430  //! \param inPos Dtk_picturePtr index.
7431  //! \return the inPos'th Dtk_picturePtr.
7432  Dtk_picturePtr GetPicture( const Dtk_Size_t& inPos ) const;
7433 
7435  Dtk_tab< Dtk_2dEntityPtr >& out2dEntities,
7436  Dtk_tab< Dtk_EntityPtr >& outGeometricalEntities,
7437  Dtk_tab< Dtk_picturePtr >& outPictures ) const;
7438  //! \Transform{inTransfo}
7440 };
7441 
7442 
7443 //! \class Dtk_Region
7444 //! \brief This is the Region class.
7445 //! The region that designates areas of your model for special purposes, such as an area affected by a datum target.
7446 //! The region can contain a hatching pattern and boundaries that are stored as geometries.
7447 //! <P> <B> Types of regions: </B> </P>
7448 //! <P> Here are different region types with their specificities </P>
7449 //! \image html Dtk_Region.png
7450 //! \SmartPtr{Dtk_RegionPtr}
7452 {
7453 public:
7455  {
7461  UnknownType
7462  };
7463 protected:
7464  struct Dtk_Handle; // Not defined here
7465  std::unique_ptr<Dtk_Handle> _Private; // Handle
7466  enum
7467  {
7468  _typeID = DTK_TYPE_REGION
7469  };
7470  //! \sa Create(RegionType, Dtk_HatchingPattern&, Dtk_tab< Dtk_EntityPtr > )
7472  Dtk_HatchingPattern &inHatchingPattern,
7473  Dtk_tab< Dtk_EntityPtr > inGeometries);
7474 
7478 
7479  inline virtual Dtk_Object* Clone() { return new Dtk_Region(*this); }
7480 
7481 private:
7482  friend class Dtk_SmartPtr<Dtk_Region>;
7483 public:
7484 
7485 
7486  //! \DtkDynamicType
7488 
7489  //! \DtkDynamicCast
7491 
7492  //! \brief Calls full featured constructor to allocate a new object.
7494  Dtk_HatchingPattern &inHatchingPattern,
7495  Dtk_tab< Dtk_EntityPtr > inGeometries);
7496  static Dtk_RegionPtr Create( Dtk_Region const& in );
7497 
7499 
7500  //! \Transform{inTransfo}
7502 
7503  //! \brief Retrieves the Dtk_Region boundaries as geometries.
7504  //! \return Dtk_Region boundaries as geometries.
7506 
7507  //! \brief Processes all the Dtk_Annotation anchor points.
7508  //! \param outTabPnts The resulting anchor point array.
7509  //! \return dtkNoError if OK
7511  Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const;
7512 
7513  //! \brief Sets the Dtk_Annotation anchor point.
7514  //! \param inNewLocation The new location point.
7515  //! \param inLocationAnchorType The anchor type related to the new location.
7516  //! \return dtkNoError if OK
7518  const Dtk_anchor_type &inLocationAnchorType);
7519 
7520  //! \brief Sets the location point of the Dtk_Annotation
7521  //! \brief The location point is related to the anchor type
7522  //! \param inLocation the location point
7523  //! \return dtkNoError if OK
7525 
7526  //! \brief Sets the offset of the Dtk_Annotation
7527  //! \brief The Offset is used to process bounding frames.
7528  //! \param inOffset The offset
7529  //! \return dtkNoError if OK
7531 
7532  //! \brief Gets the type of the region
7533  //! \return the type of region
7535 
7536  //! \brief Sets the width of the rectangular Dtk_Region
7537  //! \brief This is a semantic information (will not modify geometries)
7538  //! \param inWidth The width
7539  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a rectangular region
7541 
7542  //! \brief Gets the width of the rectangular Dtk_Region
7543  //! \brief This is a semantic information (will not modify geometries)
7544  //! \param outWidth The width
7545  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a rectangular region
7547 
7548  //! \brief Sets the height of the rectangular Dtk_Region
7549  //! \brief This is a semantic information (will not modify geometries)
7550  //! \param inWidth The height
7551  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a rectangular region
7553 
7554  //! \brief Gets the height of the rectangular Dtk_Region
7555  //! \brief This is a semantic information (will not modify geometries)
7556  //! \param outWidth The height
7557  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a rectangular region
7559 
7560  //! \brief Sets the diameter of the circular Dtk_Region
7561  //! \brief This is a semantic information (will not modify geometries)
7562  //! \param inDiameter The diameter
7563  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a circular region
7565 
7566  //! \brief Gets the diameter of the circular Dtk_Region
7567  //! \brief This is a semantic information (will not modify geometries)
7568  //! \param outDiameter The diameter
7569  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a circular region
7571 
7572  //! \brief Sets the outer diameter of the annular Dtk_Region
7573  //! \brief This is a semantic information (will not modify geometries)
7574  //! \param inDiameter The outer diameter
7575  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a annular region
7577 
7578  //! \brief Gets the outer diameter of the annular Dtk_Region
7579  //! \brief This is a semantic information (will not modify geometries)
7580  //! \param outDiameter The outer diameter
7581  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a annular region
7583 
7584  //! \brief Sets the inner diameter of the annular Dtk_Region
7585  //! \brief This is a semantic information (will not modify geometries)
7586  //! \param inDiameter The inner diameter
7587  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a annular region
7589 
7590  //! \brief Gets the inner diameter of the annular Dtk_Region
7591  //! \brief This is a semantic information (will not modify geometries)
7592  //! \param outDiameter The inner diameter
7593  //! \return dtkNoError if OK, dtkErrorAttributeNotFound if it is not a annular region
7595 
7596  //! \brief Gets Hatching Pattern of the region Dtk_Region
7597  //! \brief This is a semantic information (will not modify geometries)
7598  //! \return the hatching patter if available
7600 
7601 
7602 };
7603 
7604 
7605 #endif
Dtk_OneCell::_BorderTopColor
Dtk_RGB _BorderTopColor
Definition: util_draw_dtk.hpp:3893
Dtk_Leader::LeaderTerminatorTypeEnumToString
static Dtk_string LeaderTerminatorTypeEnumToString(const LeaderTerminatorTypeEnum &inEnum)
Definition: util_draw_dtk.hpp:1909
Dtk_FCFFeatureIndicator::Clear
void Clear()
DTK_ALIGN_CENTER
@ DTK_ALIGN_CENTER
Definition: util_draw_dtk.hpp:112
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:2859
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:3909
Dtk_Font::FontTypeEnum
FontTypeEnum
Definition: util_draw_dtk.hpp:185
Dtk_FCFFeatureIndicator::m_Private
std::unique_ptr< Dtk_Handle > m_Private
Definition: util_draw_dtk.hpp:5574
Dtk_Dimension::Create
static Dtk_DimensionPtr Create(const Dtk_Dimension &in)
Calls copy constructor to allocate a new object.
Dtk_ToleranceSpecification::HasFreeStateModifier
Dtk_bool HasFreeStateModifier() const
Tells if the Dtk_ToleranceSpecification has a FreeState Modifier or not - read only -.
DTK_ALIGN_JUSTIFIED
@ DTK_ALIGN_JUSTIFIED
Definition: util_draw_dtk.hpp:114
Dtk_ReferenceFrame::Dtk_ReferenceFrame
Dtk_ReferenceFrame(Dtk_ReferenceFrame &&in) DTK_NOEXCEPT
Dtk_Symbol::TypeHatching
@ TypeHatching
Definition: util_draw_dtk.hpp:6007
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:4543
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:3882
Dtk_TextStyle::Ratio
Dtk_Double64 & Ratio()
Retrieves the text ratio - get/set -.
Dtk_Symbol::TypeWelding
@ TypeWelding
Definition: util_draw_dtk.hpp:5998
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:2951
Dtk_OneCell::_BorderBottomBlanked
Dtk_Int32 _BorderBottomBlanked
Definition: util_draw_dtk.hpp:3903
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:1733
Dtk_View::AddBody
Dtk_ErrorStatus AddBody(const Dtk_BodyPtr &inBody)
Adds a Body displayed in the view.
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_TextStyle::JustificationCenter
@ JustificationCenter
Definition: util_draw_dtk.hpp:283
Dtk_Roughness::SetMiddleLeftText
Dtk_ErrorStatus SetMiddleLeftText(Dtk_Text inText)
Sets the middle-left text.
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_Camera::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:6950
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:7111
Dtk_Oriented2dBBox::GetXLength
Dtk_Double64 GetXLength() const
Retrieves the X length - Read Only -.
Definition: util_draw_dtk.hpp:565
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:82
Dtk_Welding::Dtk_Welding
Dtk_Welding(Dtk_Welding &&in) DTK_NOEXCEPT
Dtk_Grid::WCS
@ WCS
Definition: util_draw_dtk.hpp:4325
Dtk_Text::OuterLocation
Dtk_pnt & OuterLocation()
Retrieves the outer bounding box location - get/set -.
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:7457
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:2916
Dtk_HatchingPattern::LineType
Dtk_Int32 & LineType()
Dtk_Font::Name
Dtk_string & Name()
Retrieves the font name - get/set -.
Dtk_Dimension::SetAsDeprecated
SetAsDeprecated("2025.4", "Use Dtk_LeaderPtr GetNumLeaders() and Dtk_ErrorStatus Dtk_Leader::GetExtensionLine() instead") Dtk_Size_t GetNumExtensionLines_Deprecated254() const
Retrieves the extension lines number - read only -.
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_FDT_MODIFIER_NOT_SET
@ DTK_FDT_MODIFIER_NOT_SET
Definition: util_draw_dtk.hpp:57
Dtk_Dimension::CumulatedDimension
@ CumulatedDimension
Definition: util_draw_dtk.hpp:4549
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:137
Dtk_Annotation::Dtk_Annotation
Dtk_Annotation(Dtk_Annotation &&) DTK_NOEXCEPT
Dtk_Oriented2dBBox::GetTopRightPoint
Dtk_pnt GetTopRightPoint() const
Retrieves the top right point - Read Only -.
Definition: util_draw_dtk.hpp:558
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:7159
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:5633
Dtk_Drawing::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:6316
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:2853
Dtk_Region::Dtk_Region
Dtk_Region(Dtk_Region &&s) DTK_NOEXCEPT
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:2443
Dtk_Region
This is the Region class. The region that designates areas of your model for special purposes,...
Definition: util_draw_dtk.hpp:7452
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
Pdfw::inCamera
Dtk_CameraPtr inCamera
Definition: pdfw.hpp:655
Dtk_DatumTarget::DatumTargetTypeEnum
DatumTargetTypeEnum
Definition: util_draw_dtk.hpp:3547
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:79
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:7100
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:2286
Dtk_Leader::ApplicationZone::_ApplicationZoneType
ApplicationZoneEnum _ApplicationZoneType
Definition: util_draw_dtk.hpp:1752
DTK_FRAME_TYPE_FLAG_LEFT
@ DTK_FRAME_TYPE_FLAG_LEFT
Definition: util_draw_dtk.hpp:143
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:593
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_ToleranceSpecification::GetNumIndicators
Dtk_Size_t GetNumIndicators() const
Retrieves indicator number - read only -. .
DTK_FRAME_TYPE_SQUARE_CIRCLE
@ DTK_FRAME_TYPE_SQUARE_CIRCLE
Definition: util_draw_dtk.hpp:171
Dtk_Dimension::ShowDualValueFractional
@ ShowDualValueFractional
Definition: util_draw_dtk.hpp:4568
Dtk_HatchingPattern::_offset
Dtk_Double64 _offset
Definition: util_draw_dtk.hpp:7151
Dtk_Region::ArbitraryType
@ ArbitraryType
Definition: util_draw_dtk.hpp:7460
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:1906
Dtk_Table::nbRows
Dtk_Size_t nbRows
Number of lines.
Definition: util_draw_dtk.hpp:4119
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:6597
Dtk_FCFFeatureIndicator::Create
static Dtk_FCFFeatureIndicatorPtr Create(const Dtk_FCFFeatureIndicator &in)
Calls copy constructor to allocate a new object.
Definition: util_draw_dtk.hpp:5623
Dtk_Leader::ArrowHead::GetType
const LeaderTerminatorTypeEnum GetType() const
Definition: util_draw_dtk.hpp:2037
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_GeometricalTolerance::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:5299
Dtk_Oriented2dBBox::GetMiddleLeftPoint
Dtk_pnt GetMiddleLeftPoint() const
Retrieves the middle left point - Read Only -.
Definition: util_draw_dtk.hpp:506
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:5498
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:269
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:254
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:5591
Dtk_Symbol::SetLocation
Dtk_ErrorStatus SetLocation(const Dtk_pnt &inLocation)
Sets the location point of the Dtk_Symbol.
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:4531
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:6479
Dtk_Boundary::Dtk_Boundary
Dtk_Boundary(const Dtk_Boundary &in)
Copy constructor.
Dtk_ToleranceSpecificationContainer::~Dtk_ToleranceSpecificationContainer
~Dtk_ToleranceSpecificationContainer()
Dtk_TextStyle::JustificationLeft
@ JustificationLeft
Definition: util_draw_dtk.hpp:281
Dtk_Welding::DtkDynamicCast
static Dtk_Welding * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Dtk_Region::GetAnnularOuterDiameter
Dtk_ErrorStatus GetAnnularOuterDiameter(Dtk_Double64 &outDiameter) const
Gets the outer diameter of the annular Dtk_Region.
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_Info
This is the generic Info class.
Definition: util_ent_dtk.hpp:107
Dtk_GeometricalTolerance::GetAnchorPoints
Dtk_ErrorStatus GetAnchorPoints(Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const
Processes all the Dtk_GeometricalTolerance anchor points.
DTK_TOLERANCE
#define DTK_TOLERANCE
Definition: str_def.h:7
DTK_WITH_HIERARCHY
@ DTK_WITH_HIERARCHY
Definition: util_draw_dtk.hpp:67
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:5488
Dtk_GeometricalTolerance::SetFrameColor
void SetFrameColor(const Dtk_RGB &inFrameColor)
Sets the frame color .
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:1862
Dtk_Grid::SetOffset
Dtk_ErrorStatus SetOffset(const Dtk_Double64 &inOffset)
Sets the offset of the Dtk_Annotation.
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:145
Dtk_Camera::Dtk_Camera
Dtk_Camera(Dtk_Camera &&in) DTK_NOEXCEPT
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:154
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()
DTK_FRAME_TYPE_FIXED_SUPPORT
@ DTK_FRAME_TYPE_FIXED_SUPPORT
Definition: util_draw_dtk.hpp:158
Dtk_Text::GetOuterBoundingBox
Dtk_Oriented2dBBox & GetOuterBoundingBox()
Dtk_Welding::FinishSymbolHammer
@ FinishSymbolHammer
Definition: util_draw_dtk.hpp:2960
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:242
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:682
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:3606
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:4246
DTK_JUSTIFY_LEFT
@ DTK_JUSTIFY_LEFT
Definition: util_draw_dtk.hpp:119
Dtk_Symbol::TypeAxis
@ TypeAxis
Definition: util_draw_dtk.hpp:6001
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:59
Dtk_Grid::OriginReferenceOption
OriginReferenceOption
Definition: util_draw_dtk.hpp:4323
DTK_FRAME_TYPE_POLYGON
@ DTK_FRAME_TYPE_POLYGON
Definition: util_draw_dtk.hpp:174
Dtk_OneCell::nbCells_Left_Right
Dtk_Int32 nbCells_Left_Right
Number of adjacent cells to the left or right.
Definition: util_draw_dtk.hpp:3886
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:1045
Dtk_Text::SetInnerBoundingBox
Dtk_ErrorStatus SetInnerBoundingBox(const Dtk_Oriented2dBBox &innerBoundingBox)
Sets the inner bounding box.
Dtk_Welding::SymbolPlugWeld
@ SymbolPlugWeld
Definition: util_draw_dtk.hpp:2823
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:6447
Dtk_Table::~Dtk_Table
~Dtk_Table()
Dtk_Welding::GetArrowSideOpeningText
Dtk_CompositeText GetArrowSideOpeningText() const
Retrieves the ArrowSideOpeningText Dtk_CompositeText.
Dtk_Leader::TerminatorTypeDoubleTriangle
@ TerminatorTypeDoubleTriangle
Definition: util_draw_dtk.hpp:1896
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:5993
Dtk_OneCell::GetBorderTopBlanked
Dtk_Int32 GetBorderTopBlanked() const
Gets BorderTopBlanked of Top border.
Dtk_HatchingStyle_Hatching
@ Dtk_HatchingStyle_Hatching
Definition: util_draw_dtk.hpp:7138
Dtk_Leader::ArrowHead::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
Translates the ApplicationZone giving a translation vector.
Definition: util_draw_dtk.hpp:2061
Dtk_Welding
This is the Welding Symbol class.
Definition: util_draw_dtk.hpp:2794
Dtk_ReferenceFrame::SecondReference
const Dtk_ReferenceBlockPtr & SecondReference() const
Retrieves the second reference block - read only -.
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:453
Dtk_Leader::ArrowHead::m_Infos
Dtk_InfoPtr m_Infos
Definition: util_draw_dtk.hpp:1958
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:3901
DTK_FDT_MODIFIER_NONE
@ DTK_FDT_MODIFIER_NONE
Definition: util_draw_dtk.hpp:61
Dtk_TextStyle::AttributeStrikethrough
@ AttributeStrikethrough
Definition: util_draw_dtk.hpp:271
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_Symbol::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:6049
Dtk_ReferenceBlock::GetOuterBoundingBox
Dtk_Oriented2dBBox GetOuterBoundingBox() const
DTK_FRAME_TYPE_OBLONG
@ DTK_FRAME_TYPE_OBLONG
Definition: util_draw_dtk.hpp:147
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:4471
Dtk_Text::MirroringTypeEnum
MirroringTypeEnum
Definition: util_draw_dtk.hpp:1043
Dtk_Grid
Represents the grids.
Definition: util_draw_dtk.hpp:4305
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:4316
Dtk_Leader::ApplicationZone::ApplicationZone
ApplicationZone(ApplicationZone &&in) DTK_NOEXCEPT=default
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_ToleranceSpecification::AddIndicator
void AddIndicator(const Dtk_FCFFeatureIndicatorPtr &inIndicator)
Adds a feature indicator to the Dtk_ToleranceSpecification.
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:6945
Dtk_DatumTarget::DatumTargetValueEnum
DatumTargetValueEnum
Definition: util_draw_dtk.hpp:3594
Dtk_Roughness::RoughModeEnum
RoughModeEnum
Definition: util_draw_dtk.hpp:2450
Dtk_Welding::WeldTextSecondFilletSize
@ WeldTextSecondFilletSize
Definition: util_draw_dtk.hpp:2931
Dtk_ToleranceSpecification
This is the geometrical tolerance specification. It is part of the Dtk_ToleranceSpecificationContaine...
Definition: util_draw_dtk.hpp:5051
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:6939
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_GeometricalTolerance::Dtk_GeometricalTolerance
Dtk_GeometricalTolerance(Dtk_GeometricalTolerance &&in) DTK_NOEXCEPT
DTK_UNIT_DMS
@ DTK_UNIT_DMS
Definition: util_draw_dtk.hpp:89
Dtk_OneCell::GetBorderTopColor
const Dtk_RGB & GetBorderTopColor() const
Gets BorderTopColor of Top border.
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_FRAME_TYPE_OBLONG_RIGHT
@ DTK_FRAME_TYPE_OBLONG_RIGHT
Definition: util_draw_dtk.hpp:149
Dtk_Symbol::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:6267
Dtk_OneCell::Dtk_OneCell
Dtk_OneCell(const Dtk_OneCell &in)
Copy constructor.
Dtk_DatumTarget::~Dtk_DatumTarget
~Dtk_DatumTarget()
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:4545
Dtk_Oriented2dBBox::SetPoint
void SetPoint(const Dtk_pnt &inNewPoint, const enum Dtk_anchor_type &inAnchorType)
Sets the point with inAnchorType type.
Dtk_2dEntity::Dtk_2dEntity
Dtk_2dEntity(const Dtk_2dEntity &)
Dtk_Fdt::Dtk_Fdt
Dtk_Fdt(Dtk_Fdt &&in) DTK_NOEXCEPT
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:6947
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_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_Roughness::ApplyToBasicSurface
@ ApplyToBasicSurface
Definition: util_draw_dtk.hpp:2445
Dtk_Oriented2dBBox::BottomLeftPoint
Dtk_pnt BottomLeftPoint() const
Retrieves the bottom left point - Read Only -.
Definition: util_draw_dtk.hpp:491
Dtk_ToleranceSpecificationContainer::TypeFlatness
@ TypeFlatness
Definition: util_draw_dtk.hpp:5703
Dtk_Roughness::ModeMultiDirectional
@ ModeMultiDirectional
Definition: util_draw_dtk.hpp:2453
Dtk_ToleranceSpecificationContainer::BottomText
const Dtk_Text & BottomText() const
OBSOLETE Retrieves the Dtk_ToleranceSpecificationContainer bottom-text as Dtk_Text - read only -.
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:898
DTK_FRAME_TYPE_FLAG_RIGHT
@ DTK_FRAME_TYPE_FLAG_RIGHT
Definition: util_draw_dtk.hpp:141
Dtk_Symbol::TypeFullBoltCircle
@ TypeFullBoltCircle
Definition: util_draw_dtk.hpp:6008
Dtk_OneCell::min_Height
Dtk_Double64 min_Height
The original height before mergers.
Definition: util_draw_dtk.hpp:3878
Dtk_justication_type
Dtk_justication_type
Definition: util_draw_dtk.hpp:117
Dtk_View::Dtk_View
Dtk_View(Dtk_View &&in) DTK_NOEXCEPT
Dtk_Camera::GetSemiHeight
Dtk_Double64 GetSemiHeight() const
Retrieves the Camera Base Semi Height - read only -.
Dtk_Fdt::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:6823
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:3895
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:726
Dtk_FCFFeatureIndicator::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Definition: util_draw_dtk.hpp:5601
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:3884
Dtk_Symbol
This is the general symbol class. It's basically composed of Dtk_CompositeText and geometrical elemen...
Definition: util_draw_dtk.hpp:5982
DTK_TYPE_REGION
@ DTK_TYPE_REGION
Definition: define.h:550
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:2914
Dtk_DatumTarget::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:3801
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_Welding::FinishSymbolRoll
@ FinishSymbolRoll
Definition: util_draw_dtk.hpp:2964
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:873
Dtk_Welding::~Dtk_Welding
~Dtk_Welding()
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_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:308
Dtk_View::AddOLEObject
Dtk_ErrorStatus AddOLEObject(const Dtk_OLEObjectPtr &inOLEObject)
Adds a Dtk_OLEObjectPtr to the view.
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:1831
Dtk_Region::RectangularType
@ RectangularType
Definition: util_draw_dtk.hpp:7456
Dtk_Symbol::GetNumGeometricalElements
Dtk_Size_t GetNumGeometricalElements() const
Retrieves the geometrical elements number - read only -.
Dtk_Welding::SymbolFlangeEdge
@ SymbolFlangeEdge
Definition: util_draw_dtk.hpp:2833
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_Drawing::SetAsDeprecated
SetAsDeprecated("2025.4", "Please remove calls to this function, it will always return 0.") Dtk_Size_t GetNum2dEntities_Deprecated254() const
Retrieves the 2D entities number - read only -.
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 displayed.
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:2930
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_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:2927
Dtk_TextStyle::TextJustificationEnumToString
static Dtk_string TextJustificationEnumToString(const TextJustificationEnum &inEnum)
Definition: util_draw_dtk.hpp:288
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:121
Dtk_ViewDisplay::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:6492
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()
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_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:1821
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_CompositeEntity::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:7349
DTK_FDT_MODIFIER
DTK_FDT_MODIFIER
This is the several tolerances modifiers list.
Definition: util_draw_dtk.hpp:56
Dtk_Welding::SymbolSquareButtWeld
@ SymbolSquareButtWeld
Definition: util_draw_dtk.hpp:2799
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_Leader::Create
static Dtk_LeaderPtr Create(const Dtk_Leader &in)
Calls copy constructor to allocate a new object.
Dtk_Welding::FinishSymbolFlush
@ FinishSymbolFlush
Definition: util_draw_dtk.hpp:2956
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:6011
Dtk_Symbol::MergeWithOtherSymbol
void MergeWithOtherSymbol(const Dtk_SymbolPtr &inSymbolToBeMerged)
Merges texts and geometrical element of the given Dtk_Symbol into this Dtk_Symbol.
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:110
Dtk_Hatching
This is the Hatching class. The hatching fills a closed area delimited by boundaries....
Definition: util_draw_dtk.hpp:7270
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:5464
DTK_ANCHOR_BOTTOM_LEFT
@ DTK_ANCHOR_BOTTOM_LEFT
Definition: util_draw_dtk.hpp:99
Dtk_Leader::TerminatorTypeTriangle
@ TerminatorTypeTriangle
Definition: util_draw_dtk.hpp:1878
Dtk_Leader::TerminatorTypeCircle
@ TerminatorTypeCircle
Definition: util_draw_dtk.hpp:1864
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_Size_t
size_t Dtk_Size_t
Definition: define.h:711
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_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:5515
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_Boundary::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:7212
Dtk_Font::~Dtk_Font
~Dtk_Font()
Destructor.
Dtk_Frame::Dtk_Frame
Dtk_Frame(const Dtk_Frame &in)
Copy constructor.
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:94
Dtk_ToleranceSpecificationContainer::TypeStraightness
@ TypeStraightness
Definition: util_draw_dtk.hpp:5701
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_ToleranceSpecification::GetIndicator
Dtk_FCFFeatureIndicatorPtr & GetIndicator(const Dtk_Size_t inIndicatorIndex)
Retrieves the ith indicator - get/set -. .
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:3881
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:6585
Dtk_Oriented2dBBox::SetYLocalVector
void SetYLocalVector(const Dtk_dir &inNewYVector)
Sets the Y local vector.
Definition: util_draw_dtk.hpp:601
Dtk_Welding::WeldTextDepth
@ WeldTextDepth
Definition: util_draw_dtk.hpp:2929
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:175
Dtk_Roughness::GetBottomRightText
Dtk_Text GetBottomRightText() const
Gets the bottom-right text - read only -.
Dtk_Welding::WeldTextNum
@ WeldTextNum
Definition: util_draw_dtk.hpp:2926
Dtk_FCFFeatureIndicatorType::m_Type
Dtk_FCFFeatureIndicatorTypeEnum m_Type
Definition: util_draw_dtk.hpp:5479
Dtk_Camera::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:6958
Dtk_Region::AnnularType
@ AnnularType
Definition: util_draw_dtk.hpp:7458
Dtk_ToleranceSpecification::Translate
void Translate(const Dtk_dir &inTranslationDir)
Translates the text giving a translation vector.
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(Dtk_Table &inToBeConverted, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
Dtk_Leader::ArrowHead::operator=
ArrowHead & operator=(ArrowHead &&in) DTK_NOEXCEPT
Definition: util_draw_dtk.hpp:1993
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:100
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_oleobject.hpp
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:195
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:2924
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:1041
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:5608
Dtk_FCFFeatureIndicator::~Dtk_FCFFeatureIndicator
~Dtk_FCFFeatureIndicator()
Dtk_DatumTarget::Dtk_DatumTarget
Dtk_DatumTarget()
Dtk_Dimension::BasicDimensionTypeEnum
BasicDimensionTypeEnum
Definition: util_draw_dtk.hpp:4557
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_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:78
Dtk_TextStyle::_font_style
FontStyleEnum _font_style
Font Style type (Regular, Italic, etc...)
Definition: util_draw_dtk.hpp:304
Dtk_Symbol::TypeRoughness
@ TypeRoughness
Definition: util_draw_dtk.hpp:5990
Dtk_Roughness::ModeParticular
@ ModeParticular
Definition: util_draw_dtk.hpp:2459
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(Dtk_Symbol &&in) DTK_NOEXCEPT
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:2825
Dtk_OneCell::_BorderLeftBlanked
Dtk_Int32 _BorderLeftBlanked
Definition: util_draw_dtk.hpp:3905
Dtk_ViewDisplay::GetHiddenEdgesLineStyle
Dtk_ErrorStatus GetHiddenEdgesLineStyle(Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor) const
Retrieves Line style for Hidden Edges.
Dtk_Region::Create
static Dtk_RegionPtr Create(Dtk_Region const &in)
Dtk_TextStyle::_char_width
Dtk_Double64 _char_width
Width of each char in the text.
Definition: util_draw_dtk.hpp:314
Dtk_Welding::GetReverseTailAndFieldFlag
Dtk_bool GetReverseTailAndFieldFlag() const
Tells if the Field/Tail are reversed.
Dtk_Welding::SymbolFlareBevelWeld
@ SymbolFlareBevelWeld
Definition: util_draw_dtk.hpp:2841
Dtk_Leader
This class graphically represents leader of annotations. It is part of Dtk_Annotation and Dtk_Dimens...
Definition: util_draw_dtk.hpp:1726
Dtk_Drawing
This is the drawing class. It basically contains a Dtk_View array.
Definition: util_draw_dtk.hpp:6314
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:1741
Dtk_OneCell::GetBorderBottomColor
const Dtk_RGB & GetBorderBottomColor() const
Gets BorderBottomColor of Bottom border.
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()
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_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:876
Dtk_TextStyle::FontStyleEnum
FontStyleEnum
Definition: util_draw_dtk.hpp:244
Dtk_OneCell::_BorderRightColor
Dtk_RGB _BorderRightColor
Definition: util_draw_dtk.hpp:3899
Dtk_Welding::GetLengthTextArrowSide
Dtk_Text GetLengthTextArrowSide() const
Retrieves the ArrowSide Length Dtk_Text.
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:520
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:187
Dtk_Symbol::Dtk_Symbol
Dtk_Symbol(const Dtk_GeometricalTolerance &inToBeConverteds, const Dtk_bool &inTextAutoFlip=DTK_FALSE)
DTK_FALSE
#define DTK_FALSE
Definition: define.h:727
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:151
Dtk_FCFFeatureIndicatorType::m_RelatedGeomElements
Dtk_tab< Dtk_CurvePtr > m_RelatedGeomElements
Definition: util_draw_dtk.hpp:5480
Dtk_Roughness::Dtk_Roughness
Dtk_Roughness(Dtk_Roughness &&in) DTK_NOEXCEPT
Dtk_OneCell::SetBorderRightColor
void SetBorderRightColor(const Dtk_Int32 &inBorderRightColor)
Sets BorderRightColor of Right border.
util_geom_dtk.hpp
Dtk_Symbol::TypeEnumToString
static const Dtk_string TypeEnumToString(const TypeEnum &inEnum)
Definition: util_draw_dtk.hpp:6014
Dtk_Leader::ArrowHead::ArrowHead
ArrowHead()
Default constructor.
Definition: util_draw_dtk.hpp:1977
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_Welding::GetOtherSideWeldSymbolText
Dtk_CompositeText GetOtherSideWeldSymbolText() const
Retrieves the OtherSideWeldSymbolText Dtk_CompositeText.
Dtk_bool
char Dtk_bool
Definition: define.h:724
Dtk_Welding::SymbolSteepFlankedSingleBevelButtWeld
@ SymbolSteepFlankedSingleBevelButtWeld
Definition: util_draw_dtk.hpp:2819
Dtk_Text::ProcessTextNumLines
Dtk_Int32 ProcessTextNumLines() const
Processes the line feed number.
Dtk_Camera::Create
static Dtk_CameraPtr Create(Dtk_Camera const &in)
Copy constructor.
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:5617
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:2727
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:3561
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.
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:2070
Dtk_HatchingPattern::_style
Dtk_HatchingStyle _style
Definition: util_draw_dtk.hpp:7150
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_ViewDisplay::GetDisplayMode
DisplayMode3DEnum GetDisplayMode() const
Return the Display Mode.
Dtk_OneCell::justification
Dtk_justication_type justification
Text justification.
Definition: util_draw_dtk.hpp:3890
Dtk_CompositeText::Clear
void Clear()
DTK_ANCHOR_MIDDLE_CENTER
@ DTK_ANCHOR_MIDDLE_CENTER
Definition: util_draw_dtk.hpp:97
Dtk_Camera::ProcessXSemiAngle
Dtk_Double64 ProcessXSemiAngle() const
Processes the X - along width - Semi Angle - read only -.
Definition: util_draw_dtk.hpp:7076
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:2962
Dtk_Roughness::GetSymbolColor
void GetSymbolColor(Dtk_Int32 &outColorId) const
get the color of the Symbol
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:5527
Dtk_Leader::ApplicationZone::Clear
void Clear()
Clear elements.
Definition: util_draw_dtk.hpp:1780
Dtk_OneCell::set_min_Width
void set_min_Width(const Dtk_Double64 &min_Width)
Sets the Dtk_OneCell min_Width.
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_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_Deprecated254(const Dtk_LeaderPtr &inLeader
Adds a leader with an extension line to the Dtk_Dimension.
Dtk_Symbol::TypeCenterMark
@ TypeCenterMark
Definition: util_draw_dtk.hpp:6004
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:499
Dtk_Grid::Local
@ Local
Definition: util_draw_dtk.hpp:4326
Dtk_Font::_ID
Dtk_Size_t _ID
Font ID.
Definition: util_draw_dtk.hpp:197
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_ToleranceSpecification::GetMaterialModifier
DTK_FDT_MODIFIER GetMaterialModifier() const
Retrieves the Dtk_ToleranceSpecification material modifier - read 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:2050
Dtk_Table::Create
static Dtk_TablePtr Create(const Dtk_Table &in)
CreateCopy{in}.
Dtk_Annotation::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:2288
Dtk_Symbol::TypeCustomSymbol
@ TypeCustomSymbol
Definition: util_draw_dtk.hpp:6009
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_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:698
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_ViewDisplay::Dtk_ViewDisplay
Dtk_ViewDisplay(Dtk_ViewDisplay &&in) DTK_NOEXCEPT
Dtk_Grid::Dtk_Grid
Dtk_Grid()
Default constructor.
Dtk_Welding::GetIndentLineFlag
Dtk_Char8 GetIndentLineFlag() const
Retrieves the IndentLine Flag.
Dtk_Welding::GetOtherSideDepthText
Dtk_CompositeText GetOtherSideDepthText() const
Retrieves the OtherSideDepthText Dtk_CompositeText.
Dtk_Dimension::~Dtk_Dimension
~Dtk_Dimension()
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:3897
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:2796
Dtk_TextStyle::_char_height
Dtk_Double64 _char_height
Height of each char in the text.
Definition: util_draw_dtk.hpp:310
Dtk_Leader::ArrowHead::m_ArrowLocation
Dtk_pnt m_ArrowLocation
Definition: util_draw_dtk.hpp:1960
Dtk_Oriented2dBBox::GetYLength
Dtk_Double64 GetYLength() const
Retrieves the Y length - Read Only -.
Definition: util_draw_dtk.hpp:572
Dtk_Dimension::LinearRadiusDimension
@ LinearRadiusDimension
Definition: util_draw_dtk.hpp:4547
Dtk_Symbol::TypeHoleNote
@ TypeHoleNote
Definition: util_draw_dtk.hpp:6010
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:7104
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_OneCell::GetBorderLeftColor
const Dtk_RGB & GetBorderLeftColor() const
Gets BorderLeftColor of Left border.
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:1777
Dtk_Unit
Dtk_Unit
Definition: util_draw_dtk.hpp:75
Dtk_2dEntity::Dtk_2dEntity
Dtk_2dEntity(Dtk_2dEntity &&) DTK_NOEXCEPT
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_Annotation::Dtk_Annotation
Dtk_Annotation(const Dtk_Annotation &)
Dtk_Fdt::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:6838
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_ToleranceSpecification::GetInnerBoundingBox
Dtk_ErrorStatus GetInnerBoundingBox(Dtk_Oriented2dBBox &outInnerBBox) const
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:248
Dtk_Roughness::GetMiddleRightText
Dtk_Text GetMiddleRightText() const
Gets the middle-right text - read only -.
Dtk_Leader::TerminatorTypeFilledTriangle
@ TerminatorTypeFilledTriangle
Definition: util_draw_dtk.hpp:1880
Dtk_Symbol::TypeCoordinateDimension
@ TypeCoordinateDimension
Definition: util_draw_dtk.hpp:5999
Dtk_Dimension::DistanceDimension
@ DistanceDimension
Definition: util_draw_dtk.hpp:4553
Dtk_Region::SetRectangularHeight
Dtk_ErrorStatus SetRectangularHeight(Dtk_Double64 inHeight)
Sets the height of the rectangular Dtk_Region.
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:2851
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:1892
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_Region::GetRectangularWidth
Dtk_ErrorStatus GetRectangularWidth(Dtk_Double64 &outWidth) const
Gets the width of the rectangular Dtk_Region.
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:93
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:6805
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:4123
Dtk_Symbol::TypeRegion
@ TypeRegion
Definition: util_draw_dtk.hpp:6006
Dtk_Region::CylindricalType
@ CylindricalType
Definition: util_draw_dtk.hpp:7459
Dtk_DatumTarget
This is the Datum Target.
Definition: util_draw_dtk.hpp:3544
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:4551
Dtk_Table::Text
Dtk_CompositeText & Text(const Dtk_Size_t &inRow, const Dtk_Size_t &inCol)
Dtk_Leader::ArrowHead::ArrowHead
ArrowHead(ArrowHead &&in) DTK_NOEXCEPT
Definition: util_draw_dtk.hpp:1992
Dtk_ReferenceBlock
This is the Dtk_ReferenceBlock Class. It is part of the Dtk_ReferenceFrame entity.
Definition: util_draw_dtk.hpp:4772
Dtk_Val
Definition: dtk_val.hpp:67
Dtk_View::GetViewDisplay
Dtk_ViewDisplayPtr GetViewDisplay() const
GetDisplayMode for 3D entity.
Dtk_Welding::SymbolFlangeCorner
@ SymbolFlangeCorner
Definition: util_draw_dtk.hpp:2837
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.
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:610
Dtk_Roughness
This is the Roughness class.
Definition: util_draw_dtk.hpp:2428
Dtk_TextStyle::StyleItalic
@ StyleItalic
Definition: util_draw_dtk.hpp:250
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:1866
Dtk_ReferenceBlock::Create
static Dtk_ReferenceBlockPtr Create(const Dtk_ReferenceBlock &in)
Calls copy constructor to allocate a new object.
Dtk_ToleranceSpecification::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_TextStyle::Dtk_TextStyle
Dtk_TextStyle()
Default constructor.
Dtk_Leader::IncludeOptions
IncludeOptions
Definition: util_draw_dtk.hpp:1945
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:4539
Dtk_Dimension::BasicTypeFlagRight
@ BasicTypeFlagRight
Definition: util_draw_dtk.hpp:4561
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:2019
Dtk_Drawing::Height
const Dtk_Double64 & Height() const
Retrieves the drawing height - read only -.
Dtk_FCFFeatureIndicatorType::operator=
Dtk_FCFFeatureIndicatorType & operator=(const Dtk_FCFFeatureIndicatorType &in)
Copy assignment operator.
Dtk_Welding::ComplementarySymbolEnumToString
static Dtk_string ComplementarySymbolEnumToString(const ComplementarySymbolEnum &inEnum)
Definition: util_draw_dtk.hpp:2937
Dtk_ReferenceFrame::Dtk_ReferenceFrame
Dtk_ReferenceFrame(const Dtk_ReferenceBlockPtr &ref)
Dtk_FCFFeatureIndicatorType::CollectionPlane
@ CollectionPlane
Definition: util_draw_dtk.hpp:5472
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:7154
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:320
Dtk_Fdt::ScreenDisplayEnumToString
static Dtk_string ScreenDisplayEnumToString(const ScreenDisplayEnum &inEnum)
Definition: util_draw_dtk.hpp:6812
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:454
Dtk_Symbol::TypeAnnotationTable
@ TypeAnnotationTable
Definition: util_draw_dtk.hpp:5994
Dtk_FCFFeatureIndicator::Dtk_FCFFeatureIndicator
Dtk_FCFFeatureIndicator()
DTK_FRAME_TYPE_SYMMETRICAL_SET
@ DTK_FRAME_TYPE_SYMMETRICAL_SET
Definition: util_draw_dtk.hpp:164
Dtk_Grid::GetMajorLineWidth
Dtk_Double64 GetMajorLineWidth() const
Gets the major line width.
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:183
Dtk_2dEntity::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:1657
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:7377
Dtk_View::SetCameraforProjection
Dtk_ErrorStatus SetCameraforProjection(const Dtk_CameraPtr &inCamera)
Set the camera used for 3D entities projection in the view.
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:2829
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:2843
Dtk_ToleranceSpecificationContainer::TypeCylindricity
@ TypeCylindricity
Definition: util_draw_dtk.hpp:5707
DTK_ALIGN_NONE
@ DTK_ALIGN_NONE
Definition: util_draw_dtk.hpp:106
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_Leader::TerminatorTypeBottomOpenArrow
@ TerminatorTypeBottomOpenArrow
Definition: util_draw_dtk.hpp:1900
util_topology_ptr_dtk.hpp
DTK_FRAME_TYPE_SQUARE
@ DTK_FRAME_TYPE_SQUARE
Definition: util_draw_dtk.hpp:131
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:133
Dtk_FCFFeatureIndicatorType::m_OuterBBox
Dtk_Oriented2dBBox m_OuterBBox
Definition: util_draw_dtk.hpp:5481
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:1904
Dtk_Drawing::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Dtk_OneCell::GetBorderRightBlanked
Dtk_Int32 GetBorderRightBlanked() const
Gets BorderRightBlanked of Right border.
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:4921
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:1965
Dtk_Roughness::DtkDynamicCast
static Dtk_Roughness * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
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_ToleranceSpecificationContainer::Dtk_ToleranceSpecificationContainer
Dtk_ToleranceSpecificationContainer(Dtk_ToleranceSpecificationContainer &&in) DTK_NOEXCEPT
Dtk_Fdt::Dtk_Fdt
Dtk_Fdt()
Dtk_View::SetViewDisplay
void SetViewDisplay(Dtk_ViewDisplayPtr inDisplay)
SetDisplayMode for 3D entity to be displayed.
Dtk_Hatching::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:7272
Dtk_OneCell::setWidth
void setWidth(const Dtk_Double64 &inWidth)
Sets the Dtk_OneCell Width.
Dtk_TextStyle::_attributes
TextAttributeEnum _attributes
Text Attribute (Underline, etc...)
Definition: util_draw_dtk.hpp:306
Dtk_TextStyle::Ratio
const Dtk_Double64 & Ratio() const
Retrieves the text ratio - Read Only -.
Dtk_Welding::WeldTextSecondFilletLength
@ WeldTextSecondFilletLength
Definition: util_draw_dtk.hpp:2932
Dtk_Camera::ProcessYZoomFactor
Dtk_Double64 ProcessYZoomFactor() const
Processes the Y - along height - zoom factor - read only -.
Definition: util_draw_dtk.hpp:7069
Dtk_Welding::SymbolSingeVButtWeld
@ SymbolSingeVButtWeld
Definition: util_draw_dtk.hpp:2801
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:316
DTK_INDIFFERENT_HIERARCHY
@ DTK_INDIFFERENT_HIERARCHY
Definition: util_draw_dtk.hpp:69
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:123
Dtk_OneCell::get_min_Height
Dtk_Double64 get_min_Height()
Gets the original height.
Dtk_Leader::TerminatorTypeSlash
@ TerminatorTypeSlash
Definition: util_draw_dtk.hpp:1872
Dtk_DatumTarget::DtkDynamicCast
static Dtk_DatumTarget * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
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:1044
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_Text::InnerTranslate
Dtk_ErrorStatus InnerTranslate(const Dtk_dir &inTranslateDir)
Translates the inner bounding box giving a translation vector.
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_Region::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:7498
Dtk_Text::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:1050
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_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:2083
Dtk_CompositeEntity
This is the Dtk_CompositeEntity class.
Definition: util_draw_dtk.hpp:7347
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:455
Dtk_CompositeText::operator[]
Dtk_Text & operator[](Dtk_Size_t inPos)
Access operator - get/set -.
Dtk_Welding::FinishSymbolGrind
@ FinishSymbolGrind
Definition: util_draw_dtk.hpp:2958
Dtk_Boundary
This is the Boundary class. The boundary defines the curves that delimit a closed area.
Definition: util_draw_dtk.hpp:7210
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:4117
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:579
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_ToleranceSpecification::GetIndicator
const Dtk_FCFFeatureIndicatorPtr & GetIndicator(const Dtk_Size_t inIndicatorIndex) const
Retrieves the ith indicator - get only -. .
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:108
Dtk_Roughness::ModeParallel
@ ModeParallel
Definition: util_draw_dtk.hpp:2463
Dtk_Leader::ArrowHead::operator=
ArrowHead & operator=(const ArrowHead &in)
Copy assignment operator.
Definition: util_draw_dtk.hpp:2006
Dtk_Annotation::~Dtk_Annotation
virtual ~Dtk_Annotation()
Dtk_TextStyle::TextJustificationEnum
TextJustificationEnum
Definition: util_draw_dtk.hpp:279
DTK_UNIT_M
@ DTK_UNIT_M
Definition: util_draw_dtk.hpp:80
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:675
Dtk_ToleranceSpecification::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:5053
DTK_ANCHOR_TOP_RIGHT
@ DTK_ANCHOR_TOP_RIGHT
Definition: util_draw_dtk.hpp:95
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:2038
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:1789
util_ent_dtk.hpp
Dtk_DatumTarget::Dtk_DatumTarget
Dtk_DatumTarget(const Dtk_DatumTarget &)
DTK_FDT_MODIFIER_MAX_MATERIAL
@ DTK_FDT_MODIFIER_MAX_MATERIAL
Definition: util_draw_dtk.hpp:58
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 info.
Dtk_Welding::SymbolFilletWeld
@ SymbolFilletWeld
Definition: util_draw_dtk.hpp:2813
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:92
Dtk_Region::GetHatchingPattern
Dtk_HatchingPattern const & GetHatchingPattern() const
Gets Hatching Pattern of the region Dtk_Region.
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()
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:686
Dtk_Grid::Absolute
@ Absolute
Definition: util_draw_dtk.hpp:4324
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_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:302
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:2845
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:6556
Dtk_GeometricalTolerance::Translate
void Translate(const Dtk_dir &inTranslationDir)
Dtk_Roughness::_GetStartPoint
Dtk_pnt _GetStartPoint() const
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:5987
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:1886
Dtk_Symbol::TypeGeom
@ TypeGeom
Definition: util_draw_dtk.hpp:6000
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_ReferenceBlock::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:4774
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:81
Dtk_ToleranceSpecificationContainer::TypeSymmetry
@ TypeSymmetry
Definition: util_draw_dtk.hpp:5723
Dtk_ToleranceSpecification::SetAnchorPoint
Dtk_ErrorStatus SetAnchorPoint(const Dtk_pnt &inNewLocation, const Dtk_anchor_type &inLocationAnchorType)
Sets the Dtk_ToleranceSpecification anchor point.
Dtk_Welding::WeldTextSize
@ WeldTextSize
Definition: util_draw_dtk.hpp:2928
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_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:2827
Dtk_Region::GetCircularDiameter
Dtk_ErrorStatus GetCircularDiameter(Dtk_Double64 &outDiameter) const
Gets the diameter of the circular Dtk_Region.
Dtk_ToleranceSpecification::ReferenceFrame
const Dtk_ReferenceFramePtr & ReferenceFrame() const
Retrieves the reference frame- read only -.
Dtk_Dimension::Create
static Dtk_DimensionPtr Create()
Calls default constructor to allocate a new object.
Dtk_Grid::Dtk_Grid
Dtk_Grid(Dtk_Grid &&grid) DTK_NOEXCEPT
Dtk_Leader::ArrowHead::GetArrowLocation
const Dtk_pnt & GetArrowLocation() const
Definition: util_draw_dtk.hpp:2036
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:1801
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:4533
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:2045
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:1876
Dtk_ReferenceFrame::Translate
void Translate(const Dtk_dir &inTranslationDir)
Dtk_Char8
char Dtk_Char8
Definition: define.h:696
Dtk_Oriented2dBBox::GetMiddleCenterPoint
Dtk_pnt GetMiddleCenterPoint() const
Retrieves the middle center point - Read Only -.
Definition: util_draw_dtk.hpp:527
Dtk_Symbol::ConvertLeadersToGeometrie
void ConvertLeadersToGeometrie()
Converts all leaders into Dtk_Symbol into geometrical elements.
Dtk_Leader::ArrowHead::GetInfo
Dtk_InfoPtr & GetInfo()
Definition: util_draw_dtk.hpp:2035
Dtk_Leader::ApplicationZone::Translate
Dtk_ErrorStatus Translate(const Dtk_dir &inTranslateDir)
Translates the ApplicationZone giving a translation vector.
Definition: util_draw_dtk.hpp:1812
Dtk_Welding::SymbolVFlareWeld
@ SymbolVFlareWeld
Definition: util_draw_dtk.hpp:2839
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:5727
Dtk_GeometricalTolerance::GetFrameColor
const Dtk_RGB & GetFrameColor() const
Gets the frame color .
Dtk_Oriented2dBBox::Dtk_Oriented2dBBox
Dtk_Oriented2dBBox()
Default constructor.
Dtk_Region::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:7464
Dtk_Leader::ArrowHead::ArrowHead
ArrowHead(const ArrowHead &in)
Definition: util_draw_dtk.hpp:1984
Dtk_ViewDisplay::GetTangentEdgesLineStyle
Dtk_ErrorStatus GetTangentEdgesLineStyle(Dtk_FontLineType &outLineFont, Dtk_Double64 &outLineWidth, Dtk_RGB &outLineColor) const
Retrieves Line style for Tangent Edges.
Dtk_Leader::ArrowHead::~ArrowHead
~ArrowHead()
Destructor.
Definition: util_draw_dtk.hpp:1982
Dtk_FCFFeatureIndicatorType::~Dtk_FCFFeatureIndicatorType
~Dtk_FCFFeatureIndicatorType()
Destructor.
Definition: util_draw_dtk.hpp:5512
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:3874
Dtk_Symbol::TypeCell
@ TypeCell
Definition: util_draw_dtk.hpp:5995
Dtk_Text::operator+
friend Dtk_CompositeText operator+(Dtk_Text s1, Dtk_Text s2)
Dtk_Oriented2dBBox::YLocalVector
Dtk_dir YLocalVector() const
Retrieves the Y local vector - Read Only -.
Definition: util_draw_dtk.hpp:586
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:169
Dtk_Oriented2dBBox::GetBottomRightPoint
Dtk_pnt GetBottomRightPoint() const
Retrieves the bottom right point - Read Only -.
Definition: util_draw_dtk.hpp:543
error_dtk.hpp
Dtk_ToleranceSpecificationContainer::TypeCircularRunout
@ TypeCircularRunout
Definition: util_draw_dtk.hpp:5725
Dtk_Welding::SymbolSolderedJointWeld
@ SymbolSolderedJointWeld
Definition: util_draw_dtk.hpp:2857
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_Grid::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:4307
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_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:277
Dtk_Drawing::GetNumViews
Dtk_Size_t GetNumViews() const
Retrieves the views number - read only -.
Dtk_Leader::TerminatorTypeSquare
@ TerminatorTypeSquare
Definition: util_draw_dtk.hpp:1868
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:2434
Dtk_ToleranceSpecificationContainer::SetToleranceTypeInnerBoundingBox
void SetToleranceTypeInnerBoundingBox(const Dtk_Oriented2dBBox &inInnerBBox) const
Set the Tolerance Specification Container Type inner Bounding Box.
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:5992
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_tab::reserve
void reserve(Dtk_Size_t n)
Definition: util_stl_dtk.hpp:801
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:879
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:3871
Dtk_Oriented2dBBox::YLocalVector
Dtk_dir & YLocalVector()
Retrieves the Y local vector.
Definition: util_draw_dtk.hpp:689
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:4567
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:7083
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:6941
Dtk_ToleranceSpecificationContainer::SetTopText
Dtk_ErrorStatus SetTopText(Dtk_CompositeText inText)
Sets the Dtk_ToleranceSpecificationContainer top-text.
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:5996
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:2855
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:3888
Dtk_CompositeText::operator[]
const Dtk_Text & operator[](Dtk_Size_t inPos) const
Access operator - read only -.
Dtk_View::~Dtk_View
~Dtk_View()
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:312
DTK_FRAME_TYPE_NONE
@ DTK_FRAME_TYPE_NONE
Definition: util_draw_dtk.hpp:127
Dtk_Dimension::AngularDimension
@ AngularDimension
Definition: util_draw_dtk.hpp:4537
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_ToleranceSpecificationContainer::TypeParallelism
@ TypeParallelism
Definition: util_draw_dtk.hpp:5717
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:318
Dtk_Oriented2dBBox::_YLength
Dtk_Double64 _YLength
Definition: util_draw_dtk.hpp:456
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_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:2861
Dtk_Roughness::SetTopLeftText
Dtk_ErrorStatus SetTopLeftText(Dtk_Text inText)
Sets the top-left text.
Dtk_Grid::None
@ None
Definition: util_draw_dtk.hpp:4317
Dtk_Camera::~Dtk_Camera
~Dtk_Camera()
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:2034
DTK_FRAME_TYPE_ELLIPSE
@ DTK_FRAME_TYPE_ELLIPSE
Definition: util_draw_dtk.hpp:153
DTK_UNKNOWN
@ DTK_UNKNOWN
Definition: util_draw_dtk.hpp:66
DTK_FRAME_TYPE_PARALLELOGRAM
@ DTK_FRAME_TYPE_PARALLELOGRAM
Definition: util_draw_dtk.hpp:168
Dtk_ToleranceSpecificationContainer
This is the tolerance specification container. It is part of the Dtk_GeometricalTolerance....
Definition: util_draw_dtk.hpp:5696
Dtk_Leader::Dtk_Leader
Dtk_Leader(const Dtk_Leader &in)
Dtk_TextStyle::JustificationNone
@ JustificationNone
Definition: util_draw_dtk.hpp:286
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:2430
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:96
Dtk_ToleranceSpecificationContainer::GetNumToleranceSpecifications
Dtk_Size_t GetNumToleranceSpecifications() const
Retrieves the tolerance specification number - read only -.
Dtk_Welding::SetOtherSideDepthText
void SetOtherSideDepthText(Dtk_CompositeText inOtherSideDepthText)
Sets the OtherSideDepthText Dtk_CompositeText.
Dtk_HatchingStyle_Dotting
@ Dtk_HatchingStyle_Dotting
Definition: util_draw_dtk.hpp:7140
Dtk_Roughness::~Dtk_Roughness
~Dtk_Roughness()
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_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:85
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_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_ToleranceSpecification::ReferenceFrame
Dtk_ReferenceFramePtr & ReferenceFrame()
Retrieves the reference frame- get/set -.
Dtk_Welding::SymbolStickWeld
@ SymbolStickWeld
Definition: util_draw_dtk.hpp:2835
Dtk_Leader::Dtk_Leader
Dtk_Leader()
Dtk_Text::InnerYAxis
Dtk_dir & InnerYAxis()
Retrieves the inner bounding box YAxis - get/set -.
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:7455
Dtk_Hatching::Dtk_Hatching
Dtk_Hatching(const Dtk_Hatching &)
Dtk_ToleranceSpecificationContainer::GetToleranceTypeInnerBoundingBox
void GetToleranceTypeInnerBoundingBox(Dtk_Oriented2dBBox &outInnerBBox) const
Retrieves the Tolerance Specification Container Type inner Bounding Box.
Dtk_Camera::TargetVector
Dtk_dir TargetVector() const
Retrieves the target vector - read only -.
Dtk_Symbol::TypeBalloon
@ TypeBalloon
Definition: util_draw_dtk.hpp:5988
DTK_Text_subtype::IsLowerFrac
Dtk_bool IsLowerFrac() const
Tell if the associated Dtk_text is part of Lower Fraction group - into Dtk_Dimension -.
Dtk_ToleranceSpecification::GetOuterBoundingBoxWithOutRefFrame
Dtk_ErrorStatus GetOuterBoundingBoxWithOutRefFrame(Dtk_Oriented2dBBox &outOuterBBox) const
Dtk_TextStyle::StyleBoldItalic
@ StyleBoldItalic
Definition: util_draw_dtk.hpp:252
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_Welding::GetFinishSymbolOtherSideAsText
Dtk_Text GetFinishSymbolOtherSideAsText() const
Dtk_Dimension::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:4572
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:2922
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:6005
Dtk_Table::Dtk_Table
Dtk_Table()
Dtk_ToleranceSpecificationContainer::TypeSurfaceProfile
@ TypeSurfaceProfile
Definition: util_draw_dtk.hpp:5711
Dtk_dir::normalize
int normalize()
Dtk_Drawing::Width
const Dtk_Double64 & Width() const
Retrieves the drawing width - read only -.
Dtk_DatumTarget::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:3623
Dtk_Camera::Angle
Dtk_Double64 Angle() const
Definition: util_draw_dtk.hpp:7094
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:6865
Dtk_Dimension::Create
static Dtk_DimensionPtr Create(const DimensionTypeEnum &inDimensionType, Dtk_CompositeText inTexts)
Calls full featured constructor to allocate a new object.
Dtk_Leader::TerminatorTypeDoubleFillArrow
@ TerminatorTypeDoubleFillArrow
Definition: util_draw_dtk.hpp:1894
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:2966
DTK_FRAME_TYPE_NOTA
@ DTK_FRAME_TYPE_NOTA
Definition: util_draw_dtk.hpp:160
Dtk_Text::VerticalMirroring
@ VerticalMirroring
Definition: util_draw_dtk.hpp:1046
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:7147
Dtk_FCFFeatureIndicatorType::Dtk_FCFFeatureIndicatorTypeEnum
Dtk_FCFFeatureIndicatorTypeEnum
Definition: util_draw_dtk.hpp:5467
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:2933
Dtk_Camera::Transform
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Applies a transformation matrix to the entity. //!
Dtk_ReferenceFrame::Dtk_ReferenceFrame
Dtk_ReferenceFrame()
Dtk_OneCell::GetBorderRightColor
const Dtk_RGB & GetBorderRightColor() const
Gets BorderRightColor of Right border.
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:65
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:7155
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:927
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:2805
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_Roughness::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:2468
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_Region::GetRectangularHeight
Dtk_ErrorStatus GetRectangularHeight(Dtk_Double64 &outHeight) const
Gets the height of the rectangular Dtk_Region.
Dtk_Font::_name
Dtk_string _name
Font name.
Definition: util_draw_dtk.hpp:193
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:1445
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:5476
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_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_ToleranceSpecificationContainer::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:5732
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:46
Dtk_Welding::SymbolSingleBevelButtWeld
@ SymbolSingleBevelButtWeld
Definition: util_draw_dtk.hpp:2803
Dtk_Symbol::GetFrame
void GetFrame(Dtk_Frame &outFrame) const
Retrieves the Frame - read only -.
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:5705
util_stl_dtk.hpp
Dtk_TextStyle::AttributeOverline
@ AttributeOverline
Definition: util_draw_dtk.hpp:273
Dtk_TextStyle::JustificationRight
@ JustificationRight
Definition: util_draw_dtk.hpp:285
Dtk_Welding::GetArrowSideSizeText
Dtk_CompositeText GetArrowSideSizeText() const
Retrieves the ArrowSideSizeText Dtk_CompositeText.
Dtk_ToleranceSpecificationContainer::TypeConcentricity
@ TypeConcentricity
Definition: util_draw_dtk.hpp:5721
Dtk_Oriented2dBBox::GetTopCenterPoint
Dtk_pnt GetTopCenterPoint() const
Retrieves the top center point - Read Only -.
Definition: util_draw_dtk.hpp:535
Dtk_Leader::ApplicationZone::operator=
ApplicationZone & operator=(ApplicationZone &&in) DTK_NOEXCEPT=default
Move assignment operator.
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:855
Dtk_Dimension::DiameterDimension
@ DiameterDimension
Definition: util_draw_dtk.hpp:4541
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:1956
Dtk_Leader::TerminatorTypeTopOpenArrow
@ TerminatorTypeTopOpenArrow
Definition: util_draw_dtk.hpp:1898
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.
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::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:2088
Dtk_Leader::TerminatorTypeTopFillArrow
@ TerminatorTypeTopFillArrow
Definition: util_draw_dtk.hpp:1902
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:6971
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:5997
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_View::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:6574
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:2461
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:102
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:186
Dtk_Welding::SymbolSingleUButtWeld
@ SymbolSingleUButtWeld
Definition: util_draw_dtk.hpp:2809
Dtk_Text::GetOuterBoundingBox
const Dtk_Oriented2dBBox & GetOuterBoundingBox() const
Processes the outer bounding box.
Dtk_Annotation::Dtk_Annotation
Dtk_Annotation()
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:86
Dtk_ReferenceBlock::GetReferenceLabel
const Dtk_string & GetReferenceLabel(const Dtk_Size_t &inReferencePos) const
Full featured constructor.
Dtk_Leader::TerminatorTypeClosedArrow
@ TerminatorTypeClosedArrow
Definition: util_draw_dtk.hpp:1858
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:2040
Dtk_ToleranceSpecificationContainer::GetToleranceSpecificationOuterBoundingBox
Dtk_ErrorStatus GetToleranceSpecificationOuterBoundingBox(const Dtk_Size_t &inTolSpecPos, Dtk_Oriented2dBBox &outOuterBBox) const
Dtk_Welding::SymbolSpotWeld
@ SymbolSpotWeld
Definition: util_draw_dtk.hpp:2815
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_OneCell::setHeight
void setHeight(const Dtk_Double64 &inHeight)
Sets the Dtk_OneCell height.
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_DatumTarget::Dtk_DatumTarget
Dtk_DatumTarget(Dtk_DatumTarget &&) DTK_NOEXCEPT
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:2455
DTK_NO_PATTERN
@ DTK_NO_PATTERN
Definition: util_ent_dtk.hpp:47
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:76
Dtk_DatumTarget::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
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:2811
Dtk_Leader::ApplicationZone::_RelatedGeomElements
Dtk_tab< Dtk_CurvePtr > _RelatedGeomElements
Definition: util_draw_dtk.hpp:1753
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< Dtk_pnt >
Dtk_Text::InnerXAxis
const Dtk_dir & InnerXAxis() const
Retrieves the inner bounding box XAxis - read only -.
Dtk_OneCell::GetBorderBottomBlanked
Dtk_Int32 GetBorderBottomBlanked() const
Gets BorderBottomBlanked of Bottom border.
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_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_Roughness::ApplyToEnum
ApplyToEnum
Definition: util_draw_dtk.hpp:2439
Dtk_TextStyle::~Dtk_TextStyle
~Dtk_TextStyle()
Destructor.
Dtk_Leader::TerminatorTypeCircleCenter
@ TerminatorTypeCircleCenter
Definition: util_draw_dtk.hpp:1888
Dtk_GeometricalTolerance
This is the geometrical tolerance. It's basically composed by one - or more - Dtk_ToleranceSpecifica...
Definition: util_draw_dtk.hpp:5297
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:5715
Dtk_Leader::ApplicationZone::ApplicationZone
ApplicationZone()
Default constructor.
Definition: util_draw_dtk.hpp:1763
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)
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:4559
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:267
Dtk_HatchingStyle_Unknown
@ Dtk_HatchingStyle_Unknown
Definition: util_draw_dtk.hpp:7137
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:4203
Dtk_HatchingPattern::_line_width
Dtk_Double64 _line_width
Definition: util_draw_dtk.hpp:7156
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:4319
Dtk_Table::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:4147
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:162
Dtk_Roughness::ModeRadial
@ ModeRadial
Definition: util_draw_dtk.hpp:2457
Dtk_ToleranceSpecification::GetMainValue
const Dtk_CompositeText & GetMainValue() const
Retrieves the Dtk_ToleranceSpecification text including all modifiers as Dtk_CompositeText - material...
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::GetDisplayBackgroundColorId
Dtk_ErrorStatus GetDisplayBackgroundColorId(Dtk_Int32 &outColorIdData) const
Gets the DisplayBackground color id of the Dtk_Fdt.
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:3876
Dtk_HatchingPattern::Pitch
Dtk_Double64 & Pitch()
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:2817
Dtk_Roughness::GetInvertText
Dtk_Int32 GetInvertText() const
Gets text is invert or not.
Dtk_Hatching::Create
static Dtk_HatchingPtr Create(const Dtk_Hatching &in)
Calls copy constructor to allocate a new object.
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:5572
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:7153
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_View::GetBodies
const Dtk_tab< Dtk_BodyPtr > & GetBodies() const
Retrieves the bodies needed to be displayed.
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:156
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_ViewDisplay::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:6465
Dtk_Welding::SetSymbolInfos
void SetSymbolInfos(Dtk_tab< Dtk_pnt > &inPnts)
Process the Welding Symbol Informations.
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_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:5984
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:322
Dtk_ToleranceSpecificationContainer::TypeEnum
TypeEnum
Definition: util_draw_dtk.hpp:5698
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()
Dtk_Leader::GetArrowHead
const ArrowHead & GetArrowHead() const
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:550
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:2907
Dtk_Leader::ApplicationZone::ApplicationZone
ApplicationZone(const ApplicationZone &in)
Definition: util_draw_dtk.hpp:1764
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:1852
Dtk_Grid::ParallelToView
@ ParallelToView
Definition: util_draw_dtk.hpp:4318
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:87
Dtk_Welding::WeldTextAngle
@ WeldTextAngle
Definition: util_draw_dtk.hpp:2925
Dtk_Frame::_RelatedGeomElements
Dtk_tab< Dtk_CurvePtr > _RelatedGeomElements
Definition: util_draw_dtk.hpp:858
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
Dtk_Welding::GetFinishSymbolTextOtherSide
Dtk_Text GetFinishSymbolTextOtherSide() const
Retrieves the OtherSide Finish Symbol Dtk_Text.
Dtk_CompositeEntity::Dtk_CompositeEntity
Dtk_CompositeEntity(Dtk_CompositeEntity &&in) DTK_NOEXCEPT
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:1882
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:7139
Dtk_Object
Definition: dtk_object.hpp:8
DTK_FRAME_TYPE_SCORED_CIRCLE
@ DTK_FRAME_TYPE_SCORED_CIRCLE
Definition: util_draw_dtk.hpp:135
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:172
Dtk_Region::GetType
RegionType GetType() const
Gets the type of the region.
Dtk_Leader::ApplicationZone::ApplicationZoneEnum
ApplicationZoneEnum
Definition: util_draw_dtk.hpp:1736
Dtk_Welding::SymbolFlareBevelButtWeld
@ SymbolFlareBevelButtWeld
Definition: util_draw_dtk.hpp:2807
Dtk_Font::FontOpentype
@ FontOpentype
Definition: util_draw_dtk.hpp:189
Dtk_Welding::GetNumWeldsTextArrowSide
Dtk_Text GetNumWeldsTextArrowSide() const
Retrieves the ArrowSide NumWelds Dtk_Text.
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:1961
Dtk_Region::Dtk_Region
Dtk_Region(const Dtk_Region &s)
Dtk_Oriented2dBBox::_BottomLeftPnt
Dtk_pnt _BottomLeftPnt
Definition: util_draw_dtk.hpp:452
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_ANCHOR_BOTTOM_RIGHT
@ DTK_ANCHOR_BOTTOM_RIGHT
Definition: util_draw_dtk.hpp:101
Dtk_OneCell::HasText
Dtk_bool HasText() const
Definition: util_draw_dtk.hpp:3931
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_OneCell::SetBorderBottomBlanked
void SetBorderBottomBlanked(const Dtk_Int32 &inBorderBottomBlanked)
Sets BorderBottomBlanked of Bottom border.
Dtk_Symbol::TypeAxisSystem
@ TypeAxisSystem
Definition: util_draw_dtk.hpp:6002
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:1962
Dtk_Region::GetAnnularInnerDiameter
Dtk_ErrorStatus GetAnnularInnerDiameter(Dtk_Double64 &outDiameter) const
Gets the inner diameter of the annular Dtk_Region.
DTK_ANCHOR_MIDDLE_RIGHT
@ DTK_ANCHOR_MIDDLE_RIGHT
Definition: util_draw_dtk.hpp:98
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:5538
dtkNoError
@ dtkNoError
Definition: error_dtk.hpp:151
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_Drawing::Width
Dtk_Double64 & Width()
Retrieves the drawing width - get/set -.
Dtk_Leader::GetExtensionLine
Dtk_PolylinePtr GetExtensionLine() const
Get the leader Extension 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_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:3907
Dtk_Leader::TerminatorTypeXCross
@ TerminatorTypeXCross
Definition: util_draw_dtk.hpp:1884
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:4196
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:129
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:1959
dtk::Span
Definition: span.hpp:15
Dtk_Symbol::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:6092
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_2dEntity
This is the abstract Dtk_2dEntity class. Gathers Dtk_Annotation and Dtk_Dimension.
Definition: util_draw_dtk.hpp:1655
Dtk_View::GetCameraforProjection
Dtk_CameraPtr GetCameraforProjection() const
Retrieves the camera used for projection in the view - read only -.
Dtk_Camera::ProcessXZoomFactor
Dtk_Double64 ProcessXZoomFactor() const
Processes the X - along width - zoom factor - read only -.
Definition: util_draw_dtk.hpp:7063
Dtk_Leader::ApplicationZone::GetApplicationZoneType
ApplicationZoneEnum GetApplicationZoneType() const
Retrieves the ApplicationZone Type - Read Only -.
Definition: util_draw_dtk.hpp:1798
Dtk_Welding::FinishSymbolEnumToString
static Dtk_string FinishSymbolEnumToString(const FinishSymbolEnum &inEnum)
Definition: util_draw_dtk.hpp:2970
Dtk_TextStyle::FontStyle
const FontStyleEnum & FontStyle() const
Retrieves the font style - read only -.
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:864
DTK_FDT_MODIFIER_REGARDLESS_OF_FEATURE_SIZE
@ DTK_FDT_MODIFIER_REGARDLESS_OF_FEATURE_SIZE
Definition: util_draw_dtk.hpp:60
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:857
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_Text::GetInnerBoundingBox
Dtk_Oriented2dBBox & GetInnerBoundingBox()
Dtk_Hatching::Dtk_Hatching
Dtk_Hatching(Dtk_Hatching &&in) DTK_NOEXCEPT
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:5713
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:2865
DTK_FRAME_TYPE_TRIANGLE
@ DTK_FRAME_TYPE_TRIANGLE
Definition: util_draw_dtk.hpp:139
dtk_rgb.hpp
Dtk_GeometricalTolerance::GetLetteringColor
const Dtk_RGB & GetLetteringColor() const
Gets the lettering color for symbol and references.
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:6003
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:8
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:5991
Dtk_GeometricalTolerance::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:5310
DTK_UNIT_FOOT
@ DTK_UNIT_FOOT
Definition: util_draw_dtk.hpp:83
DTK_FRAME_TYPE_HEXAGON
@ DTK_FRAME_TYPE_HEXAGON
Definition: util_draw_dtk.hpp:173
Dtk_Welding::SymbolSteepFlankedSingleVWeld
@ SymbolSteepFlankedSingleVWeld
Definition: util_draw_dtk.hpp:2821
Dtk_HatchingPattern::_angle
Dtk_Double64 _angle
Definition: util_draw_dtk.hpp:7152
DTK_WITHOUT_HIERARCHY
@ DTK_WITHOUT_HIERARCHY
Definition: util_draw_dtk.hpp:68
Dtk_ToleranceSpecification::SetMainValue
void SetMainValue(Dtk_CompositeText inNewMainValue)
Sets the Dtk_ToleranceSpecification text including all modifiers - material modifier,...
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:265
Dtk_Table::Dtk_Table
Dtk_Table(Dtk_Table &&tab)
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:1870
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_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()
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_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:4125
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:1890
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:450
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:4121
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:2847
Dtk_TextStyle::StyleRegular
@ StyleRegular
Definition: util_draw_dtk.hpp:246
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:6937
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_Welding::GetOtherSideSecondFilletLengthText
Dtk_CompositeText GetOtherSideSecondFilletLengthText() const
Retrieves the OtherSideSecondFilletLengthText Dtk_CompositeText.
Dtk_Fdt::Dtk_Fdt
Dtk_Fdt(const Dtk_Fdt &)
Dtk_Table
Represents the tables.
Definition: util_draw_dtk.hpp:4114
Dtk_Welding::Dtk_Welding
Dtk_Welding(const Dtk_Welding &)
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:2831
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()
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:6559
Dtk_Welding::ComplementarySymbolWeldWithConvexFace
@ ComplementarySymbolWeldWithConvexFace
Definition: util_draw_dtk.hpp:2912
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:474
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:275
Dtk_Welding::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:3102
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_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_Symbol::TypeDatumTarget
@ TypeDatumTarget
Definition: util_draw_dtk.hpp:5989
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_CompositeEntity::Clone
virtual Dtk_Object * Clone()
Definition: util_draw_dtk.hpp:7361
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:2954
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:1860
Dtk_OneCell::min_Width
Dtk_Double64 min_Width
The original width before mergers.
Definition: util_draw_dtk.hpp:3880
Dtk_OneCell::GetBorderLeftBlanked
Dtk_Int32 GetBorderLeftBlanked() const
Gets BorderLeftBlanked of Left border.
Dtk_frame_type
Dtk_frame_type
Definition: util_draw_dtk.hpp:126
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:5474
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_ToleranceSpecification::GetYAxis
Dtk_dir GetYAxis() const
Retrieves the Y Axis for the Dtk_ToleranceSpecification - read only -.
Dtk_Table::GetNumCols
Dtk_Size_t GetNumCols() const
Gets the Dtk_Table columns number.
Dtk_Leader::TerminatorTypeCrossedCircle
@ TerminatorTypeCrossedCircle
Definition: util_draw_dtk.hpp:1874
Dtk_CompositeText::~Dtk_CompositeText
~Dtk_CompositeText()
Destructor.
Dtk_HatchingStyle
Dtk_HatchingStyle
Definition: util_draw_dtk.hpp:7136
Dtk_Dimension::ShowDualValueTypeEnum
ShowDualValueTypeEnum
Definition: util_draw_dtk.hpp:4565
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_Leader::GetApplicationZoneType
Dtk_Leader::ApplicationZone::ApplicationZoneEnum GetApplicationZoneType() const
Retrieves the Frame - read only -.
Dtk_Welding::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:2995
Dtk_DatumTarget::DatumTargetMovableStatusEnum
DatumTargetMovableStatusEnum
Definition: util_draw_dtk.hpp:3579
DTK_FRAME_TYPE_FLAG_RIGHT_TRIANGLE
@ DTK_FRAME_TYPE_FLAG_RIGHT_TRIANGLE
Definition: util_draw_dtk.hpp:170
Dtk_Boundary::~Dtk_Boundary
~Dtk_Boundary()
Destructor.
Dtk_Dimension::BasicTypeCircle
@ BasicTypeCircle
Definition: util_draw_dtk.hpp:4560
Dtk_GeometricalTolerance::get_type_detk
type_detk get_type_detk() const
Definition: util_draw_dtk.hpp:5323
Dtk_Welding::ComplementarySymbolWeldWithFlatFace
@ ComplementarySymbolWeldWithFlatFace
Definition: util_draw_dtk.hpp:2910
dtk_object.hpp
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:6348
Dtk_Frame::SetFrameData
void SetFrameData(const Dtk_frame_type &inFrameType, Dtk_tab< Dtk_CurvePtr > inRelatedGeomElements)
Set Frame informations.
Definition: util_draw_dtk.hpp:889
Dtk_ToleranceSpecificationContainer::SetBottomText
Dtk_ErrorStatus SetBottomText(Dtk_CompositeText inText)
Sets the Dtk_ToleranceSpecificationContainer bottom-text.
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_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.
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:6802
Dtk_GeometricalTolerance::GetOuterBoundingBox
Dtk_ErrorStatus GetOuterBoundingBox(const Dtk_bool &inProcessAddtionnalTexts, Dtk_Oriented2dBBox &outOuterBBox) const
Dtk_OneCell::set_min_Height
void set_min_Height(const Dtk_Double64 &inHeight)
Sets the Dtk_OneCell min_Height.
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:513
Dtk_View::Create
static Dtk_ViewPtr Create(const Dtk_View &in)
Calls copy constructor to allocate a new object.
Dtk_ReferenceFrame::_Private
std::unique_ptr< Dtk_Handle > _Private
Definition: util_draw_dtk.hpp:4923
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:2081
DTK_NOEXCEPT
#define DTK_NOEXCEPT
Definition: config.hpp:20
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:105
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:5719
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:6450
Dtk_ToleranceSpecification::GetXAxis
Dtk_dir GetXAxis() const
Retrieves the X Axis for the Dtk_ToleranceSpecification - read only -.
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:5470
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:166
Dtk_DatumTarget::DatumTargetMovableStatusEnumToString
static Dtk_string DatumTargetMovableStatusEnumToString(const DatumTargetMovableStatusEnum &inEnum)
Definition: util_draw_dtk.hpp:3583
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:5549
Dtk_Entity
Definition: util_ent_dtk.hpp:367
Dtk_ToleranceSpecificationContainer::TypeLineProfile
@ TypeLineProfile
Definition: util_draw_dtk.hpp:5709
Dtk_Welding::SetArrowSideWeldingSymbol
void SetArrowSideWeldingSymbol(WeldingSymbolEnum inWeldingSymbol)
Set the WeldingSymbol of the ArrowSide.
Dtk_Welding::SymbolISOEdgeWeld
@ SymbolISOEdgeWeld
Definition: util_draw_dtk.hpp:2849
Dtk_Welding::AddOtherSideAssociatedGeometry
void AddOtherSideAssociatedGeometry(Dtk_EntityPtr inAssociatedGeometry)
Add an AssociatedGeometry of the OtherSide.
Dtk_Leader::TerminatorTypeOpenArrow
@ TerminatorTypeOpenArrow
Definition: util_draw_dtk.hpp:1856
Dtk_Font::FontPostscript
@ FontPostscript
Definition: util_draw_dtk.hpp:188