00001 00002 // 00003 // This class is part of the Open Inventor Medical Edition utility library. 00004 // 00005 // The medical utility classes are provided as a prebuilt library named 00006 // "fei_inventor_medical", that can be used directly in an Open Inventor 00007 // application. The classes in the prebuilt library are documented and 00008 // supported by FEI. These classes are also provided as source code. 00009 // 00010 // Please see $OIVHOME/include/Medical/InventorMedical.h for the full text. 00011 // 00013 00014 #ifndef ORTHO_SLICE_BORDER_H_ 00015 #define ORTHO_SLICE_BORDER_H_ 00016 00017 #include <Medical/InventorMedical.h> 00018 #include <Inventor/fields/SoSFBool.h> 00019 #include <Inventor/fields/SoSFColor.h> 00020 #include <VolumeViz/nodes/SoOrthoSlice.h> 00021 00022 class SoDrawStyle; 00023 class SoSeparator; 00024 00081 class INVENTORMEDICAL_API OrthoSliceBorder : public SoOrthoSlice{ 00082 00083 SO_NODE_HEADER(OrthoSliceBorder); 00084 00085 public: 00086 00088 SoSFBool border; 00089 00091 SoSFColor borderColor; 00092 00096 SoSFFloat borderWidth; 00097 00105 SoSFBool renderSlice; 00106 00108 static void initClass(); 00109 00111 static void exitClass(); 00112 00114 OrthoSliceBorder(); 00115 00116 private: 00117 00119 virtual ~OrthoSliceBorder(); 00120 00122 virtual void GLRender(SoGLRenderAction* action); 00123 00124 SoRef<SoSeparator> m_scene; // Internal scene graph 00125 SoRef<SoNode> m_geometry; // Shape node that draws the border 00126 SbBox3f m_volumeExtent; 00127 int m_sliceAxis; 00128 int m_sliceNumber; 00129 SoDrawStyle* m_style; 00130 }; 00131 00132 #endif //OrthoSliceBorder 00133