25 #ifndef ODTRVISDEVICEDEFINITIONS
26 #define ODTRVISDEVICEDEFINITIONS
33 #ifndef OD_FORCEINLINE
34 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
35 #define OD_FORCEINLINE __forceinline
36 #elif defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
37 #define OD_FORCEINLINE inline __attribute__((always_inline))
38 #elif defined(__APPLE__) && !defined(__GNUC__)
39 #define OD_FORCEINLINE inline __attribute__((always_inline))
41 #define OD_FORCEINLINE inline
45 #if (__cplusplus > 199711L) || (_MSC_VER > 1700)
46 #define OD_CPP0X_SUPPORTED
50 #ifdef OD_CPP0X_SUPPORTED
51 #define OD_CONSTEXPR_FUNC constexpr
52 #define OD_CONSTEXPR constexpr
54 #define OD_CONSTEXPR_FUNC OD_FORCEINLINE
107 #define OdTrVisPtrToId(ptr) ((OdTrVisId)((OdIntPtr)ptr))
108 #define OdTrVisIdToPtr(ptrType, id) ((ptrType*)(OdIntPtr)(id))
144 {
return (
r == sec.
r) && (
g == sec.
g) && (
b == sec.
b) && (
a == sec.
a); }
146 {
return (
r != sec.
r) || (
g != sec.
g) || (
b != sec.
b) || (
a != sec.
a); }
148 r = _r;
g = _g;
b = _b;
a = _a;
return *
this; }
157 void asFlt(
float &_r,
float &_g,
float &_b,
float _a)
const { _r = float(
r) / 255; _g = float(
g) / 255; _b = float(
b) / 255; _a = float(
a) / 255; }
164 case kRGBA: *
this = clr;
break;
case kBGRA:
r = clr.
b;
g = clr.
g;
b = clr.
r;
a = clr.
a;
break;
171 case kRGBA: clr = *
this;
break;
case kBGRA: clr.
r =
b; clr.
g =
g; clr.
b =
r; clr.
a =
a;
break;
215 #define OD_TRVIS_OPAQUE(color) ((color) | 0xFF000000)
216 #define OD_TRVIS_TRANSPARENT(color) ((color) & 0x00FFFFFF)
217 #define OD_TRVIS_SETALPHA(color, alpha) (OD_TRVIS_TRANSPARENT(color) | (ODCOLORREF(alpha) << 24))
223 const float dif = a - b;
224 return (dif <
tol) && (dif > -
tol);
228 return !(a >
tol) && !(a < -
tol);
const OdGsMarker kNullSubentIndex
#define SETBIT_0(flags, bit)
#define GETBIT(flags, bit)
#define SETBIT_1(flags, bit)
OdRxObjectPtr(* OdPseudoConstructorType)()
void(* AppNameChangeFuncPtr)(const OdRxClass *classObj, OdString &newAppName, int saveVer)
const OdTrVisId kTrVisMainOverlayId
const OdTrVisId kTrVisNegativeId
const OdTrVisArrayId kTrVisNegativeArrayId
bool isValidMarker(OdTrVisGsMarker marker)
const OdTrVisId kTrVisNullId
OdArray< OdTrVisSectionPlane, OdMemoryAllocator< OdTrVisSectionPlane > > OdTrVisSectionPlaneArray
OdTrVisId OdTrVisVisualStyleId
OD_FORCEINLINE bool OdTrVisFPZero(float a, float tol=1.e-8f)
OdTrVisId OdTrVisOverlayId
OdTrVisId OdTrVisViewportId
OdTrVisId OdTrVisHlBranchId
OD_FORCEINLINE bool OdTrVisFPEqual(float a, float b, float tol=1.e-8f)
OD_FORCEINLINE bool isNullTrVisId(OdTrVisId id)
OdTrVisId OdTrVisProgramId
OdTrVisId OdTrVisMaterialId
OdArray< OdTrVisGsMarker, OdMemoryAllocator< OdTrVisGsMarker > > OdTrVisGsMarkerArray
const OdTrVisGsMarker kTrVisNullGsMarker
OD_FORCEINLINE bool isMainTrVisOverlayId(OdTrVisId id)
OdTrVisId OdTrVisDisplayId
OdTrVisId OdTrVisTextureId
OD_FORCEINLINE bool isValidTrVisId(OdTrVisId id)
OdArray< OdTrVisMatrix, OdMemoryAllocator< OdTrVisMatrix > > OdTrVisMatrixArray
OdTrVisId OdTrVisMetafileId
OD_FORCEINLINE bool isValidTrVisArrayId(OdTrVisArrayId id)
OdArray< float, OdMemoryAllocator< float > > OdFloatArray
static OdRxClass * desc()
FIRSTDLL_EXPORT_STATIC static const OdString kEmpty
const OdString name() const
OdRxOverruleIterator * getOverrule(OverrulingType t) const
OdRxObjectPtr create() const
void setOverrule(OdRxOverruleIterator *pIt, OverrulingType t)
OdRxClass * myParent() const
OdRxModule * module() const
void setConstructor(OdPseudoConstructorType)
OdUInt32 customFlags() const
const OdString dxfName() const
AppNameChangeFuncPtr appNameCallbackPtr() const
const OdString appName() const
OdDb::DwgVersion getClassVersion(OdDb::MaintReleaseVer *=0) const
OdUInt32 proxyFlags() const
GLfloat GLfloat GLfloat alpha
void getRep(OdTrVisColorRGBA &clr, ColorRep rep, OdUInt8 alpha=255) const
const OdUInt8 * asArray() const
bool operator!=(const OdTrVisColorRGBA &sec) const
OdTrVisColorRGBA & setCRef(ODCOLORREF color)
void setFlt(float _r, float _g, float _b, float _a)
ODCOLORREF asCRef() const
OdTrVisColorRGBA & set(OdUInt8 _r, OdUInt8 _g, OdUInt8 _b, OdUInt8 _a)
OdTrVisColorRGBA & set_a(OdUInt8 _a)
void asFlt(float &_r, float &_g, float &_b, float _a) const
OdTrVisColorRGBA & set_r(OdUInt8 _r)
OdTrVisColorRGBA & set_b(OdUInt8 _b)
bool operator==(const OdTrVisColorRGBA &sec) const
OdTrVisColorRGBA getRep(ColorRep rep, OdUInt8 alpha=255) const
OdTrVisColorRGBA & set_g(OdUInt8 _g)
void setRep(const OdTrVisColorRGBA &clr, ColorRep rep, OdUInt8 alpha=255)
OdGeVector3d normal() const
OdGePoint3d position() const
void set(OdGePoint3d position, OdGeVector3d normal)
void transformBy(const OdGeMatrix3d &xfm)
bool isSynchronized() const
void resetSyncFlag(OdUInt32 flag)
void setSyncFlag(OdUInt32 flag)
bool isSyncFlagSet(OdUInt32 flag) const