zjf
2023-03-06 392b76515f40376b6d36f40a114850ef63650384
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/////////////////////////////////////////////////////////////////////////////// 
// Copyright (C) 2002-2016, Open Design Alliance (the "Alliance"). 
// All rights reserved. 
// 
// This software and its documentation and related materials are owned by 
// the Alliance. The software may only be incorporated into application 
// programs owned by members of the Alliance, subject to a signed 
// Membership Agreement and Supplemental Software License Agreement with the
// Alliance. The structure and organization of this software are the valuable  
// trade secrets of the Alliance and its suppliers. The software is also 
// protected by copyright law and international treaty provisions. Application  
// programs incorporating this software must include the following statement 
// with their copyright notices:
//   
//   This application incorporates Teigha(R) software pursuant to a license 
//   agreement with Open Design Alliance.
//   Teigha(R) Copyright (C) 2002-2016 by Open Design Alliance. 
//   All rights reserved.
//
// By use of this software, its documentation or related materials, you 
// acknowledge and accept the above terms.
///////////////////////////////////////////////////////////////////////////////
 
 
 
 
#ifndef OD_RTEXT_H
#define OD_RTEXT_H
 
#include "TD_PackPush.h"
 
#include "DbEntity.h"
class OdDbEntityImpl;
 
/** \details
    This class represents Reactive text (RText) entities in an OdDbDatabase instance.
    Library: TD_Db
    
    \remarks
    RText entities can display either the contents of an external text file or the evaluation of a DIESEL expression. 
 
    <group Other_Classes>
*/
class TOOLKIT_EXPORT RText : public OdDbEntity
{
public:
  ODRX_DECLARE_MEMBERS(RText);
 
  /** \details
    Returns the WCS normal to the plane of this RText entity.
  */
  OdGeVector3d normal() const;
  
  /** \details
    Sets the WCS normal to the plane of this RText entity.
    \param normal [in]  Normal.
  */
  void         setNormal(const OdGeVector3d &normal);
 
  /** \details
    Returns the WCS insertion point of this RText entity.
  */
  OdGePoint3d getPoint() const;
 
  /** \details
    Sets the WCS insertion point of this RText entity.
 
    \param point [in]  Insertion point.
  */
  void        setPoint(const OdGePoint3d &point);
 
  /** \details
    Returns the rotation angle of this RText entity.
    \note
    All angles are expressed in radians.
  */
  double getRotAngle() const;
  /** \details
    Sets the rotation angle of this RText entity.
    \param rotAngle [in]  Rotation angle.
    \note
    All angles are expressed in radians.
  */
  void   setRotAngle(double rotAngle);
 
  /** \details
    Returns the height of this RText entity.
  */
  double getHeight() const;
  /** \details
    Sets the height of this RText entity.
    \param height [in]  Height.
  */
  void   setHeight(double height);
 
  /** \details
    Returns true if and only if the RText entity is to be treated an as DIESEL expression.
  */
  bool isStringExpression() const;
  /** \details
    Controls the treatment of this RText entity as an DIESEL expression.
    \param isExpression [in]  Controls treatment as a DIESAL expression.
  */
  void setToExpression(bool isExpression);
 
  /** \details
    Returns true if and only if MText inline sequences are evaluated for this RText entity.
  */
  bool enabledMTextSequences() const;
  /** \details
    Controls the evaluation of MText inline sequences for this RText entity.
    \param enable [in]  Enables MText sequences.
  */
  void enableMTextSequences(bool enable);
  /** \details
    Returns a copy of the string contents of this RText entity.
    \remarks
    If !isStringExpression(), the string contents specify the name of the file to be displayed.
  */
  OdString getStringContents() const;
  /** \details
    Sets the string contents of this RText entity.
    \param stringContents [in]  String contents.
    \remarks
    If !isStringExpression(), the string contents specify the name of the file to be displayed.
  */
  void     setStringContents(const OdString &stringContents);
 
  /** \details
    Returns the object ID of the TextStyle of this RText entity.
    
    \remarks
    If 
  */
  OdDbObjectId textStyleId() const;
  /** \details
    Returns the name of the TextStyle of this RText entity.
  */
  OdString textStyleName() const;
  /** \details
    Sets the TextStyle of this RText entity.
    \param textStyleId [in]  Object ID of TextStyle.
    \param name [in]  Name of TextStyle.
  */
  void setTextStyle(OdDbObjectId textStyleId);
  void setTextStyle(const OdString& name);
 
  virtual OdResult dwgInFields(OdDbDwgFiler* pFiler);
  virtual void dwgOutFields(OdDbDwgFiler* pFiler) const;
 
  virtual OdResult dxfInFields(OdDbDxfFiler* pFiler);
  virtual void dxfOutFields(OdDbDxfFiler* pFiler) const;
 
  virtual bool subWorldDraw(OdGiWorldDraw* pWd) const;
 
  virtual OdResult subTransformBy(const OdGeMatrix3d& xfm);
 
  virtual OdResult subGetTransformedCopy(const OdGeMatrix3d& mat, OdDbEntityPtr& pCopy) const;
 
  void subClose();
 
protected:
  RText();
  RText(OdDbEntityImpl* pImpl);
};
 
/** \details
  This template class is a specialization of the OdSmartPtr class for RText object pointers.
*/
typedef OdSmartPtr<RText> OdRTextPtr;
 
#include "TD_PackPop.h"
 
#endif  // OD_RTEXT_H