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
/////////////////////////////////////////////////////////////////////////////// 
// 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 _ODDBUNITSFORMATTER_H_IMPL_
#define _ODDBUNITSFORMATTER_H_IMPL_
 
#include "TD_PackPush.h"
 
#include "DbUnitsFormatter.h"
 
/** \details
This class provides default implementation for OdDbUnitsFormatter. 
<group OdDb_Classes>
*/
class TOOLKIT_EXPORT OdDbUnitsFormatterImpl : public OdDbUnitsFormatter
protected:
  OdDbUnitsFormatterImpl();
public:
  ODRX_DECLARE_MEMBERS(OdDbUnitsFormatterImpl);
 
  /** \details
  Returns the specified color value or OdCmColorBase object as a string.
  \param value [in]  Value to format.
  */
  virtual OdString formatCmColor(const OdCmColorBase& value) const;
 
  /** \details
  Returns the specified string as an wrapped OdCmColorBase object.
  \param string [in]  String to unformat.
  */
  virtual OdSharedPtr<OdCmColorBase> unformatCmColor(const OdString& string) const;
 
  /** \details
  Returns the specified distance value as a string.
  \param value [in]  Value to format.
  \remarks
  The returned value depends on the DIMZIN, LUNITS, LUPREC, and UNITMODE system variables.
  */
  virtual OdString formatLinear(double value) const;
 
  /** \details
  Returns the specified string as a distance value.
  \param string [in]  String to unformat.
  \remarks
  The returned value depends on the UNITMODE system variable.
  */
  virtual double unformatLinear(const OdString& string) const;
 
  /** \details
  Returns the specified angle value as a string.
  \param value [in]  Value to format.
  \remarks
  The returned value depends on the ANGBASE, AUNITS, AUPREC, DIMZIN, and UNITMODE system variables.
  \note
  All angles are expressed in radians.
  */
  virtual OdString formatAngle(double value) const;
 
  /** \details
  Returns the specified string as an angle value.
  \param string [in]  String to unformat.
  \remarks
  The returned value depends on the ANGBASE system variable.
  \note
  All angles are expressed in radians.
  */
  virtual double unformatAngle(const OdString& string) const;
 
  /** \details
  Returns the specified WCS angle as an angle in the UCS.
  \param wcsAngle [in]  WCS angle.
  \note
  All angles are expressed in radians.
  */
  virtual double toUserAngle(double wcsAngle) const;
 
  /** \details
  Returns the specified UCS angle as an angle in the WCS.
  \param ucsAngle [in]  UCS angle.
  \note
  All angles are expressed in radians.
  */
  virtual double fromUserAngle(double ucsAngle) const;
 
  /** \details
  Returns the specified 3D point value as a string.
  \param value [in]  Value to format.
  \remarks
  The returned value depends on the DIMZIN, LUNITS, LUPREC, and UNITMODE system variables.
  */
  virtual OdString formatPoint(const OdGePoint3d& value) const;
 
  /** \details
  Returns the specified string as a point value.
  \param string [in]  String to unformat.
  */
  virtual OdGePoint3d unformatPoint(const OdString& string) const;
 
  /** \details
  Returns the specified WCS point as a UCS point.
  \param wcsPt [in]  WCS point.
  */
  virtual OdGePoint3d toUCS(const OdGePoint3d& wcsPt) const;
 
  /** \details
  Returns the specified UCS point as a WCS point.
  \param ucsPt [in]  UCS point.
  */
  virtual OdGePoint3d fromUCS(const OdGePoint3d& ucsPt) const;
 
  void setDatabase(OdDbDatabase* db);
protected:
  OdDbDatabase* m_pDb;
};
 
#include "TD_PackPop.h"
 
#endif // _ODDBUNITSFORMATTER_H_IMPL_