MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00009 //---------------------------------------------------------------------------------- 00010 00011 #ifndef __SoViewerElement_H 00012 #define __SoViewerElement_H 00013 00014 #ifndef __InventorWrapperDllInit_H 00015 #include "InventorWrapperDllInit.h" 00016 #endif 00017 #ifndef __SoViewerProxy_H 00018 #include "SoViewerProxy.h" 00019 #endif 00020 00021 #include "XVEnterScope.h" 00022 #include <Inventor/elements/SoSubElement.h> 00023 #include "XVLeaveScope.h" 00024 00025 class SoAction; 00026 00028 class INVENTORWRAPPER_API SoViewerElement : public SoElement 00029 { 00030 SO_ELEMENT_HEADER(SoViewerElement); 00031 00032 public: 00034 virtual void init(SoState *state); 00035 00038 virtual SbBool matches(const SoElement *elt) const; 00039 00041 virtual SoElement* copyMatchInfo() const; 00042 00044 static void set(SoState *state, SoViewerProxy* proxy); 00045 00047 static SoViewerProxy* get(SoState *state); 00048 00051 static void setCursor (SoState *state, int shapeID); 00052 00055 static void setViewerProxyCB (void* userData, SoAction* action); 00056 00057 SoINTERNAL public: 00059 static void initClass(); 00060 00061 protected: 00063 SoViewerProxy* _proxy; 00064 00065 virtual ~SoViewerElement(); 00066 }; 00067 00070 #define SO_NODE_DEFINE_CURSOR_SHAPE_ENUM(enumType) { \ 00071 int _value_false= 0; \ 00072 do { \ 00073 SO__NODE_CHECK_CONSTRUCT(__FILE__); \ 00074 if (firstInstance) { \ 00075 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(UNDEFINED_CURSOR), \ 00076 SoViewerProxy::UNDEFINED_CURSOR); \ 00077 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(DEFAULT_CURSOR), \ 00078 SoViewerProxy::DEFAULT_CURSOR); \ 00079 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(FORBIDDEN_CURSOR), \ 00080 SoViewerProxy::FORBIDDEN_CURSOR); \ 00081 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(POINTING_HAND_CURSOR), \ 00082 SoViewerProxy::POINTING_HAND_CURSOR); \ 00083 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(OPEN_HAND_CURSOR), \ 00084 SoViewerProxy::OPEN_HAND_CURSOR); \ 00085 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CLOSED_HAND_CURSOR), \ 00086 SoViewerProxy::CLOSED_HAND_CURSOR); \ 00087 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(MOVE_ALL_CURSOR), \ 00088 SoViewerProxy::MOVE_ALL_CURSOR); \ 00089 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(MOVE_HORI_CURSOR), \ 00090 SoViewerProxy::MOVE_HORI_CURSOR); \ 00091 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(MOVE_VERT_CURSOR), \ 00092 SoViewerProxy::MOVE_VERT_CURSOR); \ 00093 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(MOVE_FDIAG_CURSOR), \ 00094 SoViewerProxy::MOVE_FDIAG_CURSOR); \ 00095 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(MOVE_BDIAG_CURSOR), \ 00096 SoViewerProxy::MOVE_BDIAG_CURSOR); \ 00097 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(MOVE_INOUT_CURSOR), \ 00098 SoViewerProxy::MOVE_INOUT_CURSOR); \ 00099 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(ROTATE_X_CURSOR), \ 00100 SoViewerProxy::ROTATE_X_CURSOR); \ 00101 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(ROTATE_Y_CURSOR), \ 00102 SoViewerProxy::ROTATE_Y_CURSOR); \ 00103 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(ROTATE_Z_CURSOR), \ 00104 SoViewerProxy::ROTATE_Z_CURSOR); \ 00105 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(ROTATE_XY_CURSOR), \ 00106 SoViewerProxy::ROTATE_XY_CURSOR); \ 00107 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(ZOOM_CURSOR), \ 00108 SoViewerProxy::ZOOM_CURSOR); \ 00109 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(ZOOM_IN_CURSOR), \ 00110 SoViewerProxy::ZOOM_IN_CURSOR); \ 00111 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(ZOOM_OUT_CURSOR), \ 00112 SoViewerProxy::ZOOM_OUT_CURSOR); \ 00113 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_CURSOR), \ 00114 SoViewerProxy::CROSS_CURSOR); \ 00115 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_PLUS_CURSOR), \ 00116 SoViewerProxy::CROSS_PLUS_CURSOR); \ 00117 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_MINUS_CURSOR), \ 00118 SoViewerProxy::CROSS_MINUS_CURSOR); \ 00119 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_MOVE_CURSOR), \ 00120 SoViewerProxy::CROSS_MOVE_CURSOR); \ 00121 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_ROTATE_CURSOR), \ 00122 SoViewerProxy::CROSS_ROTATE_CURSOR); \ 00123 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_RECT_CURSOR), \ 00124 SoViewerProxy::CROSS_RECT_CURSOR); \ 00125 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_OVAL_CURSOR), \ 00126 SoViewerProxy::CROSS_OVAL_CURSOR); \ 00127 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_VECTOR_CURSOR), \ 00128 SoViewerProxy::CROSS_VECTOR_CURSOR); \ 00129 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_FREEFORM_CURSOR),\ 00130 SoViewerProxy::CROSS_FREEFORM_CURSOR); \ 00131 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_POINT_CURSOR), \ 00132 SoViewerProxy::CROSS_POINT_CURSOR); \ 00133 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_LINE_CURSOR), \ 00134 SoViewerProxy::CROSS_LINE_CURSOR); \ 00135 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_CURVE_CURSOR), \ 00136 SoViewerProxy::CROSS_CURVE_CURSOR); \ 00137 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_POLYLINE_CURSOR),\ 00138 SoViewerProxy::CROSS_POLYLINE_CURSOR); \ 00139 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_POLYGON_CURSOR), \ 00140 SoViewerProxy::CROSS_POLYGON_CURSOR); \ 00141 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_FILL_CURSOR), \ 00142 SoViewerProxy::CROSS_FILL_CURSOR); \ 00143 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_LINK_CURSOR), \ 00144 SoViewerProxy::CROSS_LINK_CURSOR); \ 00145 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_0_CURSOR), \ 00146 SoViewerProxy::CROSS_0_CURSOR); \ 00147 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_1_CURSOR), \ 00148 SoViewerProxy::CROSS_1_CURSOR); \ 00149 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_2_CURSOR), \ 00150 SoViewerProxy::CROSS_2_CURSOR); \ 00151 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_3_CURSOR), \ 00152 SoViewerProxy::CROSS_3_CURSOR); \ 00153 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_4_CURSOR), \ 00154 SoViewerProxy::CROSS_4_CURSOR); \ 00155 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_5_CURSOR), \ 00156 SoViewerProxy::CROSS_5_CURSOR); \ 00157 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_6_CURSOR), \ 00158 SoViewerProxy::CROSS_6_CURSOR); \ 00159 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_7_CURSOR), \ 00160 SoViewerProxy::CROSS_7_CURSOR); \ 00161 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_8_CURSOR), \ 00162 SoViewerProxy::CROSS_8_CURSOR); \ 00163 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(CROSS_9_CURSOR), \ 00164 SoViewerProxy::CROSS_9_CURSOR); \ 00165 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(LUT_CURSOR), \ 00166 SoViewerProxy::LUT_CURSOR); \ 00167 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(LUT_1_CURSOR), \ 00168 SoViewerProxy::LUT_1_CURSOR); \ 00169 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(LUT_2_CURSOR), \ 00170 SoViewerProxy::LUT_2_CURSOR); \ 00171 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(LUT_3_CURSOR), \ 00172 SoViewerProxy::LUT_3_CURSOR); \ 00173 fieldData->addEnumValue(SO__QUOTE(enumType), SO__QUOTE(SLICING_CURSOR), \ 00174 SoViewerProxy::SLICING_CURSOR); \ 00175 } \ 00176 } while (_value_false); \ 00177 } 00178 00179 #endif /* __SoViewerElement_H */