CFx SDK Documentation  2022 SP0
Namespaces | Macros | Enumerations | Functions
OdaDefs.h File Reference
#include <stdio.h>
#include <string.h>
#include <math.h>

Go to the source code of this file.

Namespaces

 OdDb
 

Macros

#define SETBIT(flags, bit, value)   ((value) ? (flags |= (bit)) : (flags &= ~(bit)))
 
#define GETBIT(flags, bit)   (((flags) & (bit)) ? true : false)
 
#define SETBIT_0(flags, bit)   (flags &= ~(bit))
 
#define SETBIT_1(flags, bit)   (flags |= (bit))
 

Enumerations

enum  OdDb::DwgVersion {
  OdDb::kDHL_MC0_0 = 0 , OdDb::kDHL_AC1_2 = 1 , OdDb::kDHL_AC1_40 = 2 , OdDb::kDHL_AC1_50 = 3 ,
  OdDb::kDHL_AC2_20 = 4 , OdDb::kDHL_AC2_10 = 5 , OdDb::kDHL_AC2_21 = 6 , OdDb::kDHL_AC2_22 = 7 ,
  OdDb::kDHL_1001 = 8 , OdDb::kDHL_1002 = 9 , OdDb::vAC025 = kDHL_1002 , OdDb::kDHL_1003 = 10 ,
  OdDb::vAC026 = kDHL_1003 , OdDb::kDHL_1004 = 11 , OdDb::vAC09 = kDHL_1004 , OdDb::kDHL_1005 = 12 ,
  OdDb::kDHL_1006 = 13 , OdDb::vAC10 = kDHL_1006 , OdDb::kDHL_1007 = 14 , OdDb::kDHL_1008 = 15 ,
  OdDb::kDHL_1009 = 16 , OdDb::vAC12 = kDHL_1009 , OdDb::kDHL_1010 = 17 , OdDb::kDHL_1011 = 18 ,
  OdDb::kDHL_1012 = 19 , OdDb::vAC13 = kDHL_1012 , OdDb::kDHL_1013 = 20 , OdDb::vAC14beta = kDHL_1013 ,
  OdDb::kDHL_1014 = 21 , OdDb::vAC14 = kDHL_1014 , OdDb::kDHL_1500 = 22 , OdDb::kDHL_1015 = 23 ,
  OdDb::vAC15 = kDHL_1015 , OdDb::kDHL_1800a = 24 , OdDb::kDHL_1800 = 25 , OdDb::vAC18 = kDHL_1800 ,
  OdDb::kDHL_2100a = 26 , OdDb::kDHL_1021 = 27 , OdDb::vAC21 = kDHL_1021 , OdDb::kDHL_2400a = 28 ,
  OdDb::kDHL_1024 = 29 , OdDb::vAC24 = kDHL_1024 , OdDb::kDHL_2700a = 30 , OdDb::kDHL_1027 = 31 ,
  OdDb::vAC27 = kDHL_1027 , OdDb::kDHL_3200a = 32 , OdDb::kDHL_1032 = 33 , OdDb::vAC32 = kDHL_1032 ,
  OdDb::kDHL_PRECURR = vAC27 , OdDb::kDHL_CURRENT = vAC32 , OdDb::kDHL_Unknown = 32766 , OdDb::kDHL_Max = 32767
}
 
enum  OdDb::MaintReleaseVer {
  OdDb::kMRelease0 = 0 , OdDb::kMRelease1 = 1 , OdDb::kMRelease2 = 2 , OdDb::kMRelease3 = 3 ,
  OdDb::kMRelease4 = 4 , OdDb::kMRelease5 = 5 , OdDb::kMRelease6 = 6 , OdDb::kMRelease7 = 7 ,
  OdDb::kMRelease8 = 8 , OdDb::kMRelease9 = 9 , OdDb::kMRelease10 = 10 , OdDb::kMRelease11 = 11 ,
  OdDb::kMRelease12 = 12 , OdDb::kMRelease13 = 13 , OdDb::kMRelease14 = 14 , OdDb::kMRelease15 = 15 ,
  OdDb::kMRelease16 = 16 , OdDb::kMRelease17 = 17 , OdDb::kMRelease18 = 18 , OdDb::kMRelease19 = 19 ,
  OdDb::kMRelease20 = 20 , OdDb::kMRelease21 = 21 , OdDb::kMRelease22 = 22 , OdDb::kMRelease23 = 23 ,
  OdDb::kMRelease24 = 24 , OdDb::kMRelease25 = 25 , OdDb::kMRelease26 = 26 , OdDb::kMRelease27 = 27 ,
  OdDb::kMRelease28 = 28 , OdDb::kMRelease29 = 29 , OdDb::kMRelease30 = 30 , OdDb::kMRelease31 = 31 ,
  OdDb::kMRelease32 = 32 , OdDb::kMRelease33 = 33 , OdDb::kMRelease34 = 34 , OdDb::kMRelease35 = 35 ,
  OdDb::kMRelease36 = 36 , OdDb::kMRelease37 = 37 , OdDb::kMRelease38 = 38 , OdDb::kMRelease39 = 39 ,
  OdDb::kMRelease40 = 40 , OdDb::kMRelease41 = 41 , OdDb::kMRelease42 = 42 , OdDb::kMRelease43 = 43 ,
  OdDb::kMRelease44 = 44 , OdDb::kMRelease45 = 45 , OdDb::kMRelease46 = 46 , OdDb::kMRelease47 = 47 ,
  OdDb::kMRelease48 = 48 , OdDb::kMRelease49 = 49 , OdDb::kMRelease50 = 50 , OdDb::kMRelease51 = 51 ,
  OdDb::kMRelease52 = 52 , OdDb::kMRelease53 = 53 , OdDb::kMRelease54 = 54 , OdDb::kMRelease55 = 55 ,
  OdDb::kMRelease56 = 56 , OdDb::kMRelease57 = 57 , OdDb::kMRelease58 = 58 , OdDb::kMRelease59 = 59 ,
  OdDb::kMRelease60 = 60 , OdDb::kMRelease61 = 61 , OdDb::kMRelease62 = 62 , OdDb::kMRelease63 = 63 ,
  OdDb::kMRelease64 = 64 , OdDb::kMRelease65 = 65 , OdDb::kMRelease66 = 66 , OdDb::kMRelease67 = 67 ,
  OdDb::kMRelease68 = 68 , OdDb::kMRelease69 = 69 , OdDb::kMRelease70 = 70 , OdDb::kMRelease71 = 71 ,
  OdDb::kMRelease72 = 72 , OdDb::kMRelease73 = 73 , OdDb::kMRelease74 = 74 , OdDb::kMRelease75 = 75 ,
  OdDb::kMRelease76 = 76 , OdDb::kMRelease77 = 77 , OdDb::kMRelease78 = 78 , OdDb::kMRelease79 = 79 ,
  OdDb::kMRelease80 = 80 , OdDb::kMRelease81 = 81 , OdDb::kMRelease82 = 82 , OdDb::kMRelease83 = 83 ,
  OdDb::kMRelease84 = 84 , OdDb::kMRelease85 = 85 , OdDb::kMRelease86 = 86 , OdDb::kMRelease87 = 87 ,
  OdDb::kMRelease88 = 88 , OdDb::kMRelease89 = 89 , OdDb::kMRelease90 = 90 , OdDb::kMRelease91 = 91 ,
  OdDb::kMRelease92 = 92 , OdDb::kMRelease93 = 93 , OdDb::kMRelease94 = 94 , OdDb::kMRelease95 = 95 ,
  OdDb::kMRelease96 = 96 , OdDb::kMRelease97 = 97 , OdDb::kMRelease98 = 98 , OdDb::kMRelease99 = 99 ,
  OdDb::kMRelease100 = 100 , OdDb::kMRelease101 = 101 , OdDb::kMRelease102 = 102 , OdDb::kMRelease103 = 103 ,
  OdDb::kMRelease104 = 104 , OdDb::kMRelease105 = 105 , OdDb::kMRelease106 = 106 , OdDb::kMRelease107 = 107 ,
  OdDb::kMRelease108 = 108 , OdDb::kMRelease109 = 109 , OdDb::kMRelease110 = 110 , OdDb::kMRelease111 = 111 ,
  OdDb::kMRelease112 = 112 , OdDb::kMRelease113 = 113 , OdDb::kMRelease114 = 114 , OdDb::kMRelease115 = 115 ,
  OdDb::kMRelease116 = 116 , OdDb::kMRelease117 = 117 , OdDb::kMRelease118 = 118 , OdDb::kMRelease119 = 119 ,
  OdDb::kMRelease120 = 120 , OdDb::kMRelease121 = 121 , OdDb::kMRelease122 = 122 , OdDb::kMRelease123 = 123 ,
  OdDb::kMRelease124 = 124 , OdDb::kMRelease125 = 125 , OdDb::kMRelease126 = 126 , OdDb::kMRelease127 = 127 ,
  OdDb::kMRelease128 = 128 , OdDb::kMRelease129 = 129 , OdDb::kMRelease130 = 130 , OdDb::kMRelease131 = 131 ,
  OdDb::kMRelease132 = 132 , OdDb::kMRelease133 = 133 , OdDb::kMRelease134 = 134 , OdDb::kMRelease135 = 135 ,
  OdDb::kMRelease136 = 136 , OdDb::kMRelease137 = 137 , OdDb::kMRelease138 = 138 , OdDb::kMRelease139 = 139 ,
  OdDb::kMRelease140 = 140 , OdDb::kMRelease141 = 141 , OdDb::kMRelease142 = 142 , OdDb::kMRelease143 = 143 ,
  OdDb::kMRelease144 = 144 , OdDb::kMRelease145 = 145 , OdDb::kMRelease146 = 146 , OdDb::kMRelease147 = 147 ,
  OdDb::kMRelease148 = 148 , OdDb::kMRelease149 = 149 , OdDb::kMRelease150 = 150 , OdDb::kMRelease151 = 151 ,
  OdDb::kMRelease152 = 152 , OdDb::kMRelease153 = 153 , OdDb::kMRelease154 = 154 , OdDb::kMRelease155 = 155 ,
  OdDb::kMRelease156 = 156 , OdDb::kMRelease157 = 157 , OdDb::kMRelease158 = 158 , OdDb::kMRelease159 = 159 ,
  OdDb::kMRelease160 = 160 , OdDb::kMRelease161 = 161 , OdDb::kMRelease162 = 162 , OdDb::kMRelease163 = 163 ,
  OdDb::kMRelease164 = 164 , OdDb::kMRelease165 = 165 , OdDb::kMRelease166 = 166 , OdDb::kMRelease167 = 167 ,
  OdDb::kMRelease168 = 168 , OdDb::kMRelease169 = 169 , OdDb::kMRelease170 = 170 , OdDb::kMRelease171 = 171 ,
  OdDb::kMRelease172 = 172 , OdDb::kMRelease173 = 173 , OdDb::kMRelease174 = 174 , OdDb::kMRelease175 = 175 ,
  OdDb::kMRelease176 = 176 , OdDb::kMRelease177 = 177 , OdDb::kMRelease178 = 178 , OdDb::kMRelease179 = 179 ,
  OdDb::kMRelease180 = 180 , OdDb::kMRelease181 = 181 , OdDb::kMRelease182 = 182 , OdDb::kMRelease183 = 183 ,
  OdDb::kMRelease184 = 184 , OdDb::kMRelease185 = 185 , OdDb::kMRelease186 = 186 , OdDb::kMRelease187 = 187 ,
  OdDb::kMRelease188 = 188 , OdDb::kMRelease189 = 189 , OdDb::kMRelease190 = 190 , OdDb::kMRelease191 = 191 ,
  OdDb::kMRelease192 = 192 , OdDb::kMRelease193 = 193 , OdDb::kMRelease194 = 194 , OdDb::kMRelease195 = 195 ,
  OdDb::kMRelease196 = 196 , OdDb::kMRelease197 = 197 , OdDb::kMRelease198 = 198 , OdDb::kMRelease199 = 199 ,
  OdDb::kMRelease200 = 200 , OdDb::kMRelease201 = 201 , OdDb::kMRelease202 = 202 , OdDb::kMRelease203 = 203 ,
  OdDb::kMRelease204 = 204 , OdDb::kMRelease205 = 205 , OdDb::kMRelease206 = 206 , OdDb::kMRelease207 = 207 ,
  OdDb::kMRelease208 = 208 , OdDb::kMRelease209 = 209 , OdDb::kMRelease210 = 210 , OdDb::kMRelease211 = 211 ,
  OdDb::kMRelease212 = 212 , OdDb::kMRelease213 = 213 , OdDb::kMRelease214 = 214 , OdDb::kMRelease215 = 215 ,
  OdDb::kMRelease216 = 216 , OdDb::kMRelease217 = 217 , OdDb::kMRelease218 = 218 , OdDb::kMRelease219 = 219 ,
  OdDb::kMRelease220 = 220 , OdDb::kMRelease221 = 221 , OdDb::kMRelease222 = 222 , OdDb::kMRelease223 = 223 ,
  OdDb::kMRelease224 = 224 , OdDb::kMRelease225 = 225 , OdDb::kMRelease226 = 226 , OdDb::kMRelease227 = 227 ,
  OdDb::kMRelease228 = 228 , OdDb::kMRelease229 = 229 , OdDb::kMRelease230 = 230 , OdDb::kMRelease231 = 231 ,
  OdDb::kMRelease232 = 232 , OdDb::kMRelease233 = 233 , OdDb::kMRelease234 = 234 , OdDb::kMRelease235 = 235 ,
  OdDb::kMRelease236 = 236 , OdDb::kMRelease237 = 237 , OdDb::kMRelease238 = 238 , OdDb::kMRelease239 = 239 ,
  OdDb::kMRelease240 = 240 , OdDb::kMRelease241 = 241 , OdDb::kMRelease242 = 242 , OdDb::kMRelease243 = 243 ,
  OdDb::kMRelease244 = 244 , OdDb::kMRelease245 = 245 , OdDb::kMRelease246 = 246 , OdDb::kMRelease247 = 247 ,
  OdDb::kMRelease248 = 248 , OdDb::kMRelease249 = 249 , OdDb::kMRelease250 = 250 , OdDb::kMRelease251 = 251 ,
  OdDb::kMRelease252 = 252 , OdDb::kMRelease253 = 253 , OdDb::kMRelease254 = 254 , OdDb::kMRelease255 = 255 ,
  OdDb::kMReleaseFirstValid1500 = kMRelease41 , OdDb::kMReleaseCurrent = kMRelease4 , OdDb::kMReleaseUnknown = 126 , OdDb::kMReleaseMax = 127 ,
  OdDb::kMRelease2010Max = 255
}
 
enum  OdDb::LineWeight {
  OdDb::kLnWt000 = 0 , OdDb::kLnWt005 = 5 , OdDb::kLnWt009 = 9 , OdDb::kLnWt013 = 13 ,
  OdDb::kLnWt015 = 15 , OdDb::kLnWt018 = 18 , OdDb::kLnWt020 = 20 , OdDb::kLnWt025 = 25 ,
  OdDb::kLnWt030 = 30 , OdDb::kLnWt035 = 35 , OdDb::kLnWt040 = 40 , OdDb::kLnWt050 = 50 ,
  OdDb::kLnWt053 = 53 , OdDb::kLnWt060 = 60 , OdDb::kLnWt070 = 70 , OdDb::kLnWt080 = 80 ,
  OdDb::kLnWt090 = 90 , OdDb::kLnWt100 = 100 , OdDb::kLnWt106 = 106 , OdDb::kLnWt120 = 120 ,
  OdDb::kLnWt140 = 140 , OdDb::kLnWt158 = 158 , OdDb::kLnWt200 = 200 , OdDb::kLnWt211 = 211 ,
  OdDb::kLnWtByLayer = -1 , OdDb::kLnWtByBlock = -2 , OdDb::kLnWtByLwDefault = -3
}
 
enum  OdDb::PlotStyleNameType { OdDb::kPlotStyleNameByLayer = 0 , OdDb::kPlotStyleNameByBlock = 1 , OdDb::kPlotStyleNameIsDictDefault = 2 , OdDb::kPlotStyleNameById = 3 }
 
enum  OdDb::MultiThreadedMode { OdDb::kSTMode = 0 , OdDb::kMTRendering = 1 , OdDb::kMTLoading = 2 , OdDb::kMTBarebone = 3 }
 
enum  OdDb::MeasurementValue { OdDb::kEnglish = 0 , OdDb::kMetric = 1 }
 
enum  OdDb::UnitsValue {
  OdDb::kUnitsUndefined = 0 , OdDb::kUnitsInches = 1 , OdDb::kUnitsFeet = 2 , OdDb::kUnitsMiles = 3 ,
  OdDb::kUnitsMillimeters = 4 , OdDb::kUnitsCentimeters = 5 , OdDb::kUnitsMeters = 6 , OdDb::kUnitsKilometers = 7 ,
  OdDb::kUnitsMicroinches = 8 , OdDb::kUnitsMils = 9 , OdDb::kUnitsYards = 10 , OdDb::kUnitsAngstroms = 11 ,
  OdDb::kUnitsNanometers = 12 , OdDb::kUnitsMicrons = 13 , OdDb::kUnitsDecimeters = 14 , OdDb::kUnitsDekameters = 15 ,
  OdDb::kUnitsHectometers = 16 , OdDb::kUnitsGigameters = 17 , OdDb::kUnitsAstronomical = 18 , OdDb::kUnitsLightYears = 19 ,
  OdDb::kUnitsParsecs = 20 , OdDb::kUnitsMax = kUnitsParsecs
}
 
enum  OdDb::Intersect { OdDb::kOnBothOperands = 0 , OdDb::kExtendThis = 1 , OdDb::kExtendArg = 2 , OdDb::kExtendBoth = 3 }
 
enum  OdDb::OsnapMode {
  OdDb::kOsModeEnd = 1 , OdDb::kOsModeMid = 2 , OdDb::kOsModeCen = 3 , OdDb::kOsModeNode = 4 ,
  OdDb::kOsModeQuad = 5 , OdDb::kOsModeIntersec = 6 , OdDb::kOsModeIns = 7 , OdDb::kOsModePerp = 8 ,
  OdDb::kOsModeTan = 9 , OdDb::kOsModeNear = 10 , OdDb::kOsModeApint = 11 , OdDb::kOsModePar = 12 ,
  OdDb::kOsModeStart = 13
}
 

Functions

bool OdPositive (double x, double tol=1.e-10)
 
bool OdNegative (double x, double tol=1.e-10)
 
bool OdZero (double x, double tol=1.e-10)
 
bool OdNonZero (double x, double tol=1.e-10)
 
bool OdEqual (double x, double y, double tol=1.e-10)
 
bool OdLess (double x, double y, double tol=1.e-10)
 
bool OdLessOrEqual (double x, double y, double tol=1.e-10)
 
bool OdGreater (double x, double y, double tol=1.e-10)
 
bool OdGreaterOrEqual (double x, double y, double tol=1.e-10)
 
double OdSign (double x)
 
int OdSign (int x)
 
int OdCmpDouble (double x, double y, double tol=1.e-10)
 
double safeDivide (double a, double b)
 

Macro Definition Documentation

◆ GETBIT

#define GETBIT (   flags,
  bit 
)    (((flags) & (bit)) ? true : false)

Definition at line 498 of file OdaDefs.h.

◆ SETBIT

#define SETBIT (   flags,
  bit,
  value 
)    ((value) ? (flags |= (bit)) : (flags &= ~(bit)))

Definition at line 497 of file OdaDefs.h.

◆ SETBIT_0

#define SETBIT_0 (   flags,
  bit 
)    (flags &= ~(bit))

Definition at line 500 of file OdaDefs.h.

◆ SETBIT_1

#define SETBIT_1 (   flags,
  bit 
)    (flags |= (bit))

Definition at line 501 of file OdaDefs.h.

Function Documentation

◆ OdCmpDouble()

int OdCmpDouble ( double  x,
double  y,
double  tol = 1.e-10 
)
inline

Definition at line 558 of file OdaDefs.h.

◆ OdEqual()

bool OdEqual ( double  x,
double  y,
double  tol = 1.e-10 
)
inline

Definition at line 523 of file OdaDefs.h.

◆ OdGreater()

bool OdGreater ( double  x,
double  y,
double  tol = 1.e-10 
)
inline

Definition at line 538 of file OdaDefs.h.

◆ OdGreaterOrEqual()

bool OdGreaterOrEqual ( double  x,
double  y,
double  tol = 1.e-10 
)
inline

Definition at line 543 of file OdaDefs.h.

◆ OdLess()

bool OdLess ( double  x,
double  y,
double  tol = 1.e-10 
)
inline

Definition at line 528 of file OdaDefs.h.

◆ OdLessOrEqual()

bool OdLessOrEqual ( double  x,
double  y,
double  tol = 1.e-10 
)
inline

Definition at line 533 of file OdaDefs.h.

◆ OdNegative()

bool OdNegative ( double  x,
double  tol = 1.e-10 
)
inline

Definition at line 508 of file OdaDefs.h.

◆ OdNonZero()

bool OdNonZero ( double  x,
double  tol = 1.e-10 
)
inline

Definition at line 518 of file OdaDefs.h.

◆ OdPositive()

bool OdPositive ( double  x,
double  tol = 1.e-10 
)
inline

Definition at line 503 of file OdaDefs.h.

◆ OdSign() [1/2]

double OdSign ( double  x)
inline

Definition at line 548 of file OdaDefs.h.

◆ OdSign() [2/2]

int OdSign ( int  x)
inline

Definition at line 553 of file OdaDefs.h.

◆ OdZero()

bool OdZero ( double  x,
double  tol = 1.e-10 
)
inline

Definition at line 513 of file OdaDefs.h.

◆ safeDivide()

double safeDivide ( double  a,
double  b 
)
inline

Definition at line 568 of file OdaDefs.h.