MeVisLabToolboxReference
|
00001 #ifndef __XVInventorWrapper_H 00002 #define __XVInventorWrapper_H 00003 //---------------------------------------------------------------------------------- 00004 // **InsertLicense** code 00005 //---------------------------------------------------------------------------------- 00007 00015 //============================================================= 00016 00017 #ifndef __InventorWrapperDllInit_H 00018 #include "InventorWrapperDllInit.h" 00019 #endif 00020 00021 #ifndef WIN32 00022 #include "string.h" 00023 #endif 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00029 #ifdef __cplusplus 00030 #ifndef ML_DISABLE_CPP 00031 #define ML_DISABLE_CPP 00032 #endif 00033 #endif 00034 00035 #ifndef __mlDataTypes_H 00036 #include <mlDataTypes.h> 00037 #endif 00038 00039 #ifdef __cplusplus 00040 #undef ML_DISABLE_CPP 00041 #endif 00042 00044 // this was previously in XVcallbacks.h, but got pretty lonely after a reorganization (usi) 00045 typedef void InvSensorCB(void *data,void *sensor); 00046 00047 00049 00050 INVENTORWRAPPER_API int InvInit(void* window); 00052 INVENTORWRAPPER_API int InvInitInventor(); 00054 INVENTORWRAPPER_API int InvLoadLibrary(const char* name); 00055 00057 00058 00060 00062 INVENTORWRAPPER_API void* InvCreateNodeFromName(const char* name); 00063 00065 INVENTORWRAPPER_API const char* InvNodeGetType(void *node); 00066 00068 INVENTORWRAPPER_API int InvNodeIsOverride(void *node); 00069 00071 INVENTORWRAPPER_API void InvNodeSetOverride(void *node, int flag); 00072 00074 INVENTORWRAPPER_API void InvBaseSetName(void *base, const char* name); 00075 00077 INVENTORWRAPPER_API size_t InvNodeGetValuesSize(void *node); 00079 INVENTORWRAPPER_API size_t InvNodeGetValues(void *node, char* values, size_t size); 00081 INVENTORWRAPPER_API void InvNodeSetValues(void *node, const char* values); 00082 00084 INVENTORWRAPPER_API void* InvNodeCopy(void *node); 00086 INVENTORWRAPPER_API void InvNodeSync(void *src,void *dest); 00087 00089 INVENTORWRAPPER_API void InvNodeEnableNotify(void *node); 00091 INVENTORWRAPPER_API void InvNodeDisableNotify(void *node); 00093 INVENTORWRAPPER_API int InvNodeIsDerivedFrom(void *node, const char* superclass); 00094 00096 INVENTORWRAPPER_API void InvNodeUnref(void *node); 00098 INVENTORWRAPPER_API void InvNodeRef(void *node); 00099 00101 INVENTORWRAPPER_API const char* InvNodeGetName(void *node); 00102 00104 INVENTORWRAPPER_API void InvNodeSetIndexedFieldValue(void *node, int index, const char* value); 00106 INVENTORWRAPPER_API const char* InvNodeGetIndexedFieldName(void *node, int index); 00108 INVENTORWRAPPER_API const char* InvNodeGetFieldName(void *node, void* field); 00110 INVENTORWRAPPER_API int InvNodeGetNumFields(void *node); 00112 INVENTORWRAPPER_API void InvNodeSetFieldValue(void *node, const char* name, const char* value); 00114 INVENTORWRAPPER_API size_t InvNodeGetFieldValue(void *node, const char* name, char* value, size_t size); 00115 00117 INVENTORWRAPPER_API void* InvNodeGetField(void *node, const char* name); 00119 INVENTORWRAPPER_API void* InvNodeGetIndexedField(void *node, int index); 00120 00122 00124 00126 INVENTORWRAPPER_API void* InvDBCreateGlobalField(const char* name, const char* type); 00128 INVENTORWRAPPER_API void* InvDBGetGlobalField(const char* name); 00129 00131 INVENTORWRAPPER_API const char* InvFieldGetType(void *field); 00133 INVENTORWRAPPER_API void InvFieldSetValue(void *field, const char* value); 00135 INVENTORWRAPPER_API size_t InvFieldGetValueSize(void *field); 00136 00138 INVENTORWRAPPER_API size_t InvFieldGetValue(void *field, char* value, size_t size); 00140 INVENTORWRAPPER_API int InvFieldConnectFrom(void *field, void* srcfield); 00142 INVENTORWRAPPER_API int InvFieldConnectFromEngineOutput(void *field, void* output); 00144 INVENTORWRAPPER_API void InvFieldDisconnect(void *field); 00146 INVENTORWRAPPER_API int InvFieldGetNumEnums(void* field); 00148 INVENTORWRAPPER_API const char* InvFieldGetEnumName(void* field,int index, int* value); 00150 INVENTORWRAPPER_API void InvFieldTouch(void* field); 00152 INVENTORWRAPPER_API void InvFieldSetIgnored(void* field, int ignore); 00154 INVENTORWRAPPER_API int InvFieldIsIgnored(void* field); 00155 00157 INVENTORWRAPPER_API void* InvNodeFieldGetNodePointer(void* field); 00159 INVENTORWRAPPER_API void InvNodeFieldSetNodePointer(void* field, void* node); 00160 00162 INVENTORWRAPPER_API void InvSFStringSetValue(void* field, const char* value); 00163 00165 INVENTORWRAPPER_API void InvMFieldSetValue(void *field, int index, const char* value); 00167 INVENTORWRAPPER_API size_t InvMFieldGetValueSize(void *field, int index); 00169 INVENTORWRAPPER_API size_t InvMFieldGetValue(void *field, int index, char* value, size_t size); 00171 INVENTORWRAPPER_API int InvMFieldGetNumValues(void *field); 00173 INVENTORWRAPPER_API void* InvMFVec2fStartEditing(void *field); 00175 INVENTORWRAPPER_API void InvMFVec2fFinishEditing(void *field); 00177 INVENTORWRAPPER_API void* InvMFVec3fStartEditing(void *field); 00179 INVENTORWRAPPER_API void InvMFVec3fFinishEditing(void *field); 00181 INVENTORWRAPPER_API void* InvMFVec4fStartEditing(void *field); 00183 INVENTORWRAPPER_API void InvMFVec4fFinishEditing(void *field); 00185 INVENTORWRAPPER_API void InvMFieldSetNum(void *field, int size); 00186 00188 INVENTORWRAPPER_API void InvSbVec4fSetValue(void* vecs, int index, float value[4]); 00190 INVENTORWRAPPER_API void InvSbVec3fSetValue(void* vecs, int index, float value[3]); 00192 INVENTORWRAPPER_API void InvSbVec2fSetValue(void* vecs, int index, float value[2]); 00193 00195 00197 00199 INVENTORWRAPPER_API void* InvEngineGetOutput(void *engine, const char* name); 00201 INVENTORWRAPPER_API int InvEngineGetNumOutputs(void *engine); 00203 INVENTORWRAPPER_API void* InvEngineGetIndexedOutput(void *engine, int index); 00205 INVENTORWRAPPER_API const char* InvOutputGetType(void *output); 00207 INVENTORWRAPPER_API const char* InvEngineGetOutputName(void* engine, void *output); 00209 INVENTORWRAPPER_API const char* InvEngineGetIndexedOutputName(void* engine, int index); 00211 00213 00215 INVENTORWRAPPER_API void InvMLImageFieldConnectFromML(void* field, void* mlConnector); 00217 INVENTORWRAPPER_API void InvMLImageFieldDisconnectFromML(void* field); 00218 00220 INVENTORWRAPPER_API void InvXVImageFieldConnectFromML(void* field, void* mlConnector); 00222 INVENTORWRAPPER_API void InvXVImageFieldDisconnectFromML(void* field); 00223 00225 00227 00229 INVENTORWRAPPER_API void* InvCreateFieldSensor(void* target, InvSensorCB* callback, int priority); 00231 INVENTORWRAPPER_API void InvDeleteFieldSensor(void* sensor); 00233 INVENTORWRAPPER_API void* InvFieldSensorGetField(void* sensor); 00235 INVENTORWRAPPER_API void InvFieldSensorAttach(void* sensor, void* field); 00237 INVENTORWRAPPER_API void InvFieldSensorDetach(void* sensor); 00239 INVENTORWRAPPER_API void InvFieldSensorSetPriority(void* sensor, int priority); 00241 INVENTORWRAPPER_API int InvFieldSensorGetPriority(void* sensor); 00243 00245 00247 INVENTORWRAPPER_API void InvGroupAddChild(void* group, void* child); 00249 INVENTORWRAPPER_API void InvGroupInsertChild(void* group, void* child, int index); 00251 INVENTORWRAPPER_API void InvGroupReplaceChild(void* group, void* newchild, int index); 00253 INVENTORWRAPPER_API void InvGroupRemoveChild(void* group, void* child); 00255 INVENTORWRAPPER_API void InvGroupRemoveChildAtIndex(void* group, int index); 00257 INVENTORWRAPPER_API void InvGroupRemoveAllChildren(void* group); 00259 INVENTORWRAPPER_API int InvGroupGetNumChildren(void* group); 00261 INVENTORWRAPPER_API void* InvGroupGetChildAtIndex(void* group, int index); 00262 00264 00266 INVENTORWRAPPER_API void* InvSFMLConnectorGetPtr(void* field); 00267 00269 INVENTORWRAPPER_API void* InvSFMLBaseGetPtr(void* field); 00270 INVENTORWRAPPER_API void InvSFMLBaseSetPtr(void* field, void* base); 00271 00273 00274 00276 00278 INVENTORWRAPPER_API void* InvCreateTimerSensor(void* target, InvSensorCB* callback); 00280 INVENTORWRAPPER_API void InvDeleteTimerSensor(void* timer); 00282 INVENTORWRAPPER_API void InvTimerSensorSetInterval(void* timer, MLint32 sec,MLint32 usec); 00284 INVENTORWRAPPER_API void InvTimerSensorSchedule(void* timer); 00286 INVENTORWRAPPER_API void InvTimerSensorUnschedule(void* timer); 00287 00289 00291 00293 INVENTORWRAPPER_API void* InvCreateSceneFromFile(const char* filename); 00295 INVENTORWRAPPER_API void* InvCreateSceneFromString(const char* string); 00297 INVENTORWRAPPER_API void* InvCreateSceneFromBuffer(void* buffer, size_t size); 00298 00300 INVENTORWRAPPER_API void* InvCreateWriteAction(); 00302 INVENTORWRAPPER_API void InvDeleteWriteAction(void* action); 00304 INVENTORWRAPPER_API void InvWriteActionUseBuffer(void* action); 00306 INVENTORWRAPPER_API void InvWriteActionApplyNode(void* action, void* node); 00308 INVENTORWRAPPER_API void* InvWriteActionGetBuffer(void* action, size_t* size); 00309 00311 00313 00315 typedef void (*SensorManagerCB)(void *); 00316 00318 INVENTORWRAPPER_API void InvSensorManagerSetChangedCB(SensorManagerCB func, void *data); 00320 INVENTORWRAPPER_API SensorManagerCB InvSensorManagerGetChangedCB(void** data); 00322 INVENTORWRAPPER_API int InvSensorManagerIsTimerSensorPending(double *interval); 00324 INVENTORWRAPPER_API int InvSensorManagerIsDelaySensorPending(); 00326 INVENTORWRAPPER_API unsigned long InvSensorManagerGetDelaySensorTimeout(); 00328 INVENTORWRAPPER_API void InvSensorManagerProcessTimerQueue(); 00330 INVENTORWRAPPER_API void InvSensorManagerProcessDelayQueue(int idle); 00331 00333 00335 00336 INVENTORWRAPPER_API int InvSFEnumFieldGetValue(void *field); 00337 INVENTORWRAPPER_API int InvSFInt32FieldGetValue(void *field); 00338 INVENTORWRAPPER_API unsigned int InvSFUInt32FieldGetValue(void *field); 00339 INVENTORWRAPPER_API float InvSFFloatFieldGetValue(void *field); 00340 INVENTORWRAPPER_API double InvSFDoubleFieldGetValue(void *field); 00341 INVENTORWRAPPER_API int InvSFBoolFieldGetValue(void *field); 00342 00343 INVENTORWRAPPER_API void InvSFEnumFieldSetValue(void *field, int value); 00344 INVENTORWRAPPER_API void InvSFInt32FieldSetValue(void *field, int value); 00345 INVENTORWRAPPER_API void InvSFUInt32FieldSetValue(void *field, unsigned int value); 00346 INVENTORWRAPPER_API void InvSFFloatFieldSetValue(void *field, float value); 00347 INVENTORWRAPPER_API void InvSFDoubleFieldSetValue(void *field, double value); 00348 INVENTORWRAPPER_API void InvSFBoolFieldSetValue(void *field, int value); 00349 00350 INVENTORWRAPPER_API void InvSFVec2fGetValue(void *field, float* values); 00351 INVENTORWRAPPER_API void InvSFVec3fGetValue(void *field, float* values); 00352 INVENTORWRAPPER_API void InvSFVec4fGetValue(void *field, float* values); 00353 INVENTORWRAPPER_API void InvSFVec2fSetValue(void *field, const float* values); 00354 INVENTORWRAPPER_API void InvSFVec3fSetValue(void *field, const float* values); 00355 INVENTORWRAPPER_API void InvSFVec4fSetValue(void *field, const float* values); 00356 00357 INVENTORWRAPPER_API void InvSFColorGetValue(void *field, float* values); // three values 00358 INVENTORWRAPPER_API void InvSFRotationGetValue(void *field, float* values); // four values 00359 INVENTORWRAPPER_API void InvSFPlaneGetValue(void *field, float* values); // four values 00360 INVENTORWRAPPER_API void InvSFColorSetValue(void *field, float* values); // three values 00361 INVENTORWRAPPER_API void InvSFRotationSetValue(void *field, float* values); // four values 00362 INVENTORWRAPPER_API void InvSFPlaneSetValue(void *field, float* values); // four values 00363 00365 00366 00367 #ifdef __cplusplus 00368 } 00369 #endif 00370 00371 #endif