DATAKIT API  V2025.1
catiav5w_pmi.hpp
Go to the documentation of this file.
1 //DTK_TOREMOVE_START
2 #ifndef __DTK_CATIAV5W_PMI_H__
3 #define __DTK_CATIAV5W_PMI_H__
4 #include <vector>
5 #include <string>
6 
7 #include "def/define.h"
12 #include "util/error_dtk.hpp"
13 #include "util/util_draw_dtk.hpp"
14 #include "util/util_ent_dtk.hpp"
16 // catiav5w_pmi.h //
18 
19 typedef Dtk_ID G5w_PmiId;
20 
22 namespace catiav5w
23 {
24  namespace Pmi
25  {
26  //
29  class DrwLeader
30  {
31  public:
35  std::vector< Dtk_pnt > m_LeaderPnts;
38  public:
41  {
42  //default values - from Catia V5-
45  }
46  };
50  class RTFText
51  {
52  public:
56  std::string m_FontName;
67  public:
70  {
71  //default values - from Catia V5-
72  m_FontSize = 3.5; //3.5mm font size by default
76  }
77  };
78 
81  class CATTPSPmi
82  {
83  public:
105  std::vector< DrwLeader > m_Leaders;
106  public:
109  {
110  //default values - from Catia V5-
113  m_OffSetWrtView = 0.0;
116  m_PmiLineThickness = 0.13;
118  }
119  };
123  class CATTPSText : public CATTPSPmi
124  {
125  public:
129  std::vector< RTFText > m_Texts;
130  public:
133  {
134  //default values - from Catia V5-
135  m_FrameType = DTK_FRAME_TYPE_NONE; //no frame
136  }
137  };
145  Dtk_ErrorStatus CreateAnnotationSet( const Dtk_string& inAnnotationSetName,
147 
155  Dtk_ErrorStatus CreateView( const Dtk_string& inViewSetName,
156  const Dtk_transfo& inTransfo,
157  G5w_PmiId& outPmiId,
159 
167  const G5w_PmiId inOwningView,
168  G5w_PmiId& outPmiId );
169  };
170 };
171 #endif
172 //DTK_TOREMOVE_END
Dtk_ID
uint32_t Dtk_ID
Definition: define.h:689
Dtk_transfo
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
catiav5w::Pmi::CATTPSPmi::m_Name
Dtk_string m_Name
This is the display name of the PMI.
Definition: catiav5w_pmi.hpp:85
catiav5w::Pmi::RTFText::m_FontStyle
Dtk_TextStyle::FontStyleEnum m_FontStyle
FontStyle - for example Bold -.
Definition: catiav5w_pmi.hpp:62
catiav5w::Pmi::CATTPSPmi
This is the wrapper class handling Generic PMI - virtual class -.
Definition: catiav5w_pmi.hpp:82
Dtk_TextStyle::JustificationLeft
@ JustificationLeft
Definition: util_draw_dtk.hpp:299
catiav5w::Pmi::DrwLeader::m_LeaderAnchor
Dtk_anchor_type m_LeaderAnchor
This is the AnchorType where the leader is attached to Pmi - see each PMI to known which leader ancho...
Definition: catiav5w_pmi.hpp:33
catiav5w::Pmi::DrwLeader
This is the wrapper class handling V5 write leader data.
Definition: catiav5w_pmi.hpp:30
catiav5w::Pmi::CATTPSPmi::m_IsZoomableOnScreen
Dtk_bool m_IsZoomableOnScreen
The flag which tell if the PMI is zoomable on screen or not.
Definition: catiav5w_pmi.hpp:89
catiav5w::inTransfo
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:619
DTK_TRUE
#define DTK_TRUE
Definition: define.h:727
catiav5w::Pmi::CreateAnnotationSet
Dtk_ErrorStatus CreateAnnotationSet(const Dtk_string &inAnnotationSetName, const Dtk_bool inBlankedStatus=DTK_FALSE)
This function lets you create a PMI AnnotationSet This is the first and the main enity handling PMIs....
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:58
catiav5w::Pmi::CATTPSPmi::m_PmiLineType
Dtk_FontLineType m_PmiLineType
whole Pmi line type
Definition: catiav5w_pmi.hpp:93
DTK_ANCHOR_BOTTOM_LEFT
@ DTK_ANCHOR_BOTTOM_LEFT
Definition: util_draw_dtk.hpp:106
Dtk_TextStyle::FontStyleEnum
FontStyleEnum
Definition: util_draw_dtk.hpp:262
DTK_FALSE
#define DTK_FALSE
Definition: define.h:728
Dtk_bool
char Dtk_bool
Definition: define.h:725
util_draw_dtk.hpp
catiav5w::inBlankedStatus
const Dtk_string const Dtk_transfo const Dtk_bool inBlankedStatus
Definition: catiav5w.hpp:620
catiav5w::Pmi::RTFText::m_TextColor
Dtk_RGB m_TextColor
The RTFText color.
Definition: catiav5w_pmi.hpp:60
catiav5w::Pmi::CATTPSText::CATTPSText
CATTPSText()
Default constructor.
Definition: catiav5w_pmi.hpp:132
catiav5w::Pmi::CATTPSText::m_Texts
std::vector< RTFText > m_Texts
This is the list of RTF texts - can handle multiline and unicode texts -.
Definition: catiav5w_pmi.hpp:129
Dtk_Double64
double Dtk_Double64
Definition: define.h:699
catiav5w::Pmi::RTFText::m_FontSize
Dtk_Double64 m_FontSize
The truetype font size in millimeters.
Definition: catiav5w_pmi.hpp:58
catiav5w::Pmi::CATTPSPmi::CATTPSPmi
CATTPSPmi()
Default constructor.
Definition: catiav5w_pmi.hpp:108
catiav5w::Pmi::RTFText::m_TextJustification
Dtk_TextStyle::TextJustificationEnum m_TextJustification
Text justification - left for example -.
Definition: catiav5w_pmi.hpp:66
catiav5w::Pmi::RTFText::m_Text
Dtk_string m_Text
The RTFText label/.
Definition: catiav5w_pmi.hpp:54
dtk_pnt.hpp
catiav5w::Pmi::DrwLeader::m_LeaderPnts
std::vector< Dtk_pnt > m_LeaderPnts
This is the list of leader point except the last point - attach point -.
Definition: catiav5w_pmi.hpp:35
catiav5w::Pmi::CATTPSText::m_FrameType
Dtk_frame_type m_FrameType
This is the frame applying to the whole CATTPSText.
Definition: catiav5w_pmi.hpp:127
Dtk_TextStyle::TextJustificationEnum
TextJustificationEnum
Definition: util_draw_dtk.hpp:297
util_ent_dtk.hpp
Dtk_anchor_type
Dtk_anchor_type
Definition: util_draw_dtk.hpp:99
catiav5w::Pmi::CreateView
Dtk_ErrorStatus CreateView(const Dtk_string &inViewSetName, const Dtk_transfo &inTransfo, G5w_PmiId &outPmiId, const Dtk_bool inBlankedStatus=DTK_FALSE)
This function lets you create a PMI view A view must be created before adding a PMI.
error_dtk.hpp
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
catiav5w::Pmi::CreateCATTPSText
Dtk_ErrorStatus CreateCATTPSText(const CATTPSText &inText, const G5w_PmiId inOwningView, G5w_PmiId &outPmiId)
This function lets you create a PMI native text. A view must be created before adding a PMI.
DTK_FRAME_TYPE_NONE
@ DTK_FRAME_TYPE_NONE
Definition: util_draw_dtk.hpp:134
catiav5w::Pmi::RTFText
This is the wrapper class handling Catia V5 RTFText. This is the V5 internal text data.
Definition: catiav5w_pmi.hpp:51
catiav5w::Pmi::DrwLeader::DrwLeader
DrwLeader()
Default constructor.
Definition: catiav5w_pmi.hpp:40
catiav5w::Pmi::CATTPSText
This is the entity handling native Text PMI enity The CATTPText only has got 2 leader anchor points: ...
Definition: catiav5w_pmi.hpp:124
catiav5w::Pmi::DrwLeader::m_ArrowType
Dtk_Leader::LeaderTerminatorTypeEnum m_ArrowType
This is the arrow head type - beware not all type are not handled -.
Definition: catiav5w_pmi.hpp:37
dtk_transfo.hpp
Dtk_pnt
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
catiav5w::Pmi::CATTPSPmi::m_PmiLineThickness
Dtk_Double64 m_PmiLineThickness
whole Pmi line Thickness
Definition: catiav5w_pmi.hpp:95
G5w_PmiId
Dtk_ID G5w_PmiId
Definition: catiav5w_pmi.hpp:19
Dtk_FontLineType
Dtk_FontLineType
This is a set of line styles.
Definition: util_ent_dtk.hpp:43
catiav5w::Pmi::CATTPSPmi::m_OffSetWrtView
Dtk_Double64 m_OffSetWrtView
This is the Z offset of the PMI related to the owning view.
Definition: catiav5w_pmi.hpp:97
define.h
DTK_NO_PATTERN
@ DTK_NO_PATTERN
Definition: util_ent_dtk.hpp:44
catiav5w::Pmi::RTFText::RTFText
RTFText()
Default constructor.
Definition: catiav5w_pmi.hpp:69
Dtk_TextStyle::AttributeNone
@ AttributeNone
Definition: util_draw_dtk.hpp:285
catiav5w::Pmi::CATTPSPmi::m_PmiColor
Dtk_RGB m_PmiColor
Whole Pmi color.
Definition: catiav5w_pmi.hpp:91
catiav5w::Pmi::CATTPSPmi::m_OriginPnt
Dtk_pnt m_OriginPnt
This is the PMI Anchor point - seen in the Properties>>Text>>Position tab -.
Definition: catiav5w_pmi.hpp:101
Dtk_Leader::LeaderTerminatorTypeEnum
LeaderTerminatorTypeEnum
Internal leader terminator type.
Definition: util_draw_dtk.hpp:1999
catiav5w::Pmi::CATTPSPmi::m_Leaders
std::vector< DrwLeader > m_Leaders
This is the leaders attached to the PMI.
Definition: catiav5w_pmi.hpp:105
dtk_string.hpp
catiav5w::Pmi::RTFText::m_FontName
std::string m_FontName
The text TrueType font name - for example "Times New Roman" or "Courier New"-.
Definition: catiav5w_pmi.hpp:56
catiav5w
Exported APIs for CatiaV5 Write Library.
Definition: catiav5w.hpp:25
dtk_rgb.hpp
Dtk_RGB
Definition: dtk_rgb.hpp:7
Dtk_TextStyle::TextAttributeEnum
TextAttributeEnum
Definition: util_draw_dtk.hpp:283
Dtk_TextStyle::StyleRegular
@ StyleRegular
Definition: util_draw_dtk.hpp:264
catiav5w::Pmi::CATTPSPmi::m_AnchorType
Dtk_anchor_type m_AnchorType
This is the Anchor Type - seen in the Properties>>Text>>Position tab -.
Definition: catiav5w_pmi.hpp:103
catiav5w::Pmi::CATTPSPmi::m_AngleinRadianWrtView
Dtk_Double64 m_AngleinRadianWrtView
This is the Angle in Radian of the PMI related to the owning view.
Definition: catiav5w_pmi.hpp:99
Dtk_frame_type
Dtk_frame_type
Definition: util_draw_dtk.hpp:133
catiav5w::Pmi::RTFText::m_TextAttribute
Dtk_TextStyle::TextAttributeEnum m_TextAttribute
FontAttribute - for example underline -.
Definition: catiav5w_pmi.hpp:64
catiav5w::Pmi::CATTPSPmi::m_IsParallelToScreen
Dtk_bool m_IsParallelToScreen
The flag which tell if the PMI is parallel to screen or not.
Definition: catiav5w_pmi.hpp:87
Dtk_Leader::TerminatorTypeOpenArrow
@ TerminatorTypeOpenArrow
Definition: util_draw_dtk.hpp:2003