16 #define EXPORT_MVR_CLASS
19 #define EXPORT_MVR_CLASS __declspec(dllexport)
21 #define EXPORT_MVR_CLASS __declspec(dllimport)
25 #define EXPORT_MVR_CLASS __attribute__((visibility("default")))
27 #define EXPORT_MVR_CLASS __attribute__((visibility("default")))
40 std::memcpy(
this, &iid,
sizeof(
VWIID) );
42 memcpy(
this, &iid,
sizeof(
VWIID) );
49 return std::memcmp(
this, &iid,
sizeof(
VWIID) ) == 0;
51 return memcmp(
this, &iid,
sizeof(
VWIID) ) == 0;
62 if ( ! isEqual ) { isLess = (
data1 < iid.
data1); }
67 if ( ! isEqual ) { isLess = (
data2 < iid.
data2); }
72 if ( ! isEqual ) { isLess = (
data3 < iid.
data3); }
75 for(uint32_t i=0; i<8 && isEqual; i++) {
77 if ( ! isEqual ) { isLess = (
data4[i] < iid.
data4[i]); }
83 return isLess && ! isEqual;
91 # define VCOM_CALLTYPE __stdcall
93 # define VCOM_CALLTYPE
102 # define DYNAMIC_ATTRIBUTE
104 # define DYNAMIC_ATTRIBUTE __attribute__((visibility("default")))
152 VCOMPtr(T* ptr) { fPtr = ptr;
if ( fPtr ) { fPtr->AddRef(); } }
165 fPtr = (T*)( pInterface );
166 if ( fPtr == NULL ) {
177 void AddRef() {
if ( fPtr ) { fPtr->AddRef(); } }
178 uint32_t
Release() { uint32_t res = 0;
if ( fPtr ) { res = fPtr->Release(); } fPtr = NULL;
return res; }
180 VCOMPtr&
operator=(T* ptr) { T* pOld = fPtr; fPtr = ptr;
if ( fPtr ) { fPtr->AddRef(); }
if ( pOld ) { pOld->Release(); }
return *
this; }
181 VCOMPtr&
operator=(
const VCOMPtr& p) { T* pOld = fPtr; fPtr = p.fPtr;
if ( fPtr ) { fPtr->AddRef(); }
if ( pOld ) { pOld->Release(); }
return *
this; }
185 operator T*()
const {
return fPtr; }
188 T*
Get()
const {
return fPtr; }
189 void Set(T* p) { fPtr = p; }
#define VCOM_CALLTYPE
Definition VectorworksMVR.h:93
#define DYNAMIC_ATTRIBUTE
Definition VectorworksMVR.h:104
Definition VectorworksMVR.h:109
virtual uint32_t VCOM_CALLTYPE Release()=0
virtual uint32_t VCOM_CALLTYPE AddRef()=0
virtual ~IVWUnknown(void)
Definition VectorworksMVR.h:111
Definition VectorworksMVR.h:149
void Set(T *p)
Definition VectorworksMVR.h:189
uint32_t Release()
Definition VectorworksMVR.h:178
T * Get() const
Definition VectorworksMVR.h:188
VCOMPtr(T *ptr)
Definition VectorworksMVR.h:152
VCOMPtr()
Definition VectorworksMVR.h:151
VCOMPtr & operator=(T *ptr)
Definition VectorworksMVR.h:180
T * operator->() const
Definition VectorworksMVR.h:183
VCOMPtr(const VWIID &iid)
Definition VectorworksMVR.h:153
T ** operator&()
Definition VectorworksMVR.h:184
VCOMError Query(const VWIID &iid)
Definition VectorworksMVR.h:157
VCOMPtr(const VCOMPtr &p)
Definition VectorworksMVR.h:154
void AddRef()
Definition VectorworksMVR.h:177
~VCOMPtr()
Definition VectorworksMVR.h:155
VCOMPtr & operator=(const VCOMPtr &p)
Definition VectorworksMVR.h:181
const VCOMError kVCOMError_WrongRDMParameterValueType
Definition VectorworksMVR.h:140
const VCOMError kVCOMError_WrongGeometryType
Definition VectorworksMVR.h:139
const VCOMError kVCOMError_OutOfBounds
Definition VectorworksMVR.h:136
const VCOMError kVCOMError_SlaveMasterNotInSameMode
Definition VectorworksMVR.h:141
VCOMError VWQueryInterface(const VWIID &iid, IVWUnknown **outInterface)
const VCOMError kVCOMError_NoValidContainerObj
Definition VectorworksMVR.h:133
const VCOMError kVCOMError_False
Definition VectorworksMVR.h:123
const VCOMError kVCOMError_Failed
Definition VectorworksMVR.h:122
const VCOMError kVCOMError_NoInterface
Definition VectorworksMVR.h:126
const VCOMError kVCOMError_NoError
Definition VectorworksMVR.h:121
const VCOMError kVCOMError_NoObj
Definition VectorworksMVR.h:142
const VCOMError kVCOMError_NotInitialized
Definition VectorworksMVR.h:125
const VCOMError kVCOMError_NoFixtureObj
Definition VectorworksMVR.h:135
uint32_t VCOMError
Definition VectorworksMVR.h:119
const VCOMError kVCOMError_NoLayerObj
Definition VectorworksMVR.h:134
const VCOMError kVCOMError_OutOfMemory
Definition VectorworksMVR.h:124
const VCOMError kVCOMError_NotSet
Definition VectorworksMVR.h:138
const VCOMError kVCOMError_NoProjectorObj
Definition VectorworksMVR.h:131
const VCOMError kVCOMError_InvalidArg
Definition VectorworksMVR.h:128
const VCOMError kVCOMError_NotImplemented
Definition VectorworksMVR.h:127
const VCOMError kVCOMError_NoVideoScreenObj
Definition VectorworksMVR.h:132
const VCOMError kVCOMError_NoInstance
Definition VectorworksMVR.h:129
Definition VectorworksMVR.h:32
uint16_t data2
Definition VectorworksMVR.h:34
uint8_t data4[8]
Definition VectorworksMVR.h:36
bool operator==(const VWIID &iid) const
Definition VectorworksMVR.h:47
bool operator<(const VWIID &iid) const
Definition VectorworksMVR.h:55
void SetToNULL(void)
Definition VectorworksMVR.h:85
uint32_t data1
Definition VectorworksMVR.h:33
VWIID & operator=(const VWIID &iid)
Definition VectorworksMVR.h:38
uint16_t data3
Definition VectorworksMVR.h:35
bool IsNULL(void) const
Definition VectorworksMVR.h:86