MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00009 //---------------------------------------------------------------------------------- 00010 00011 #ifndef __SoView2DCSOEditorBase_H 00012 #define __SoView2DCSOEditorBase_H 00013 00014 00015 #include "SoCSOSystem.h" 00016 #include "SoCSODefines.h" 00017 00018 #include <SoView2D.h> 00019 00020 #include <View2DFont.h> 00021 #include <View2DIcons.h> 00022 00023 #include <mlStylePalette.h> 00024 00026 00027 namespace ml { 00028 class CSOProcessorData; 00029 } 00030 00031 class SoCSOTransform; 00032 00034 00035 class SoView2DCSOEditorBase 00036 { 00037 public: 00039 SoView2DCSOEditorBase(); 00040 00042 void setUpVisualization(ml::CSOList* csoList, ml::CSO* cso, const CSOEditorState& editorState, ml::StylePalette* stylePalette, CSOVisualParameters& visualParameters); 00044 int getStylePaletteIndex(const ml::CSO* cso, ml::StylePalette* stylePalette) const; 00046 int evaluateHitPoint(View2DSliceList* slicelist,const ml::Vector3& currentHitPoint, 00047 const ml::CSOList* csoList, const std::string& editorId, const ml::CSOBoundingBox& slabBB, int pickingMode, 00048 ml::CSO*& hitCSO, ml::CSOSeedPoint*& hitSeedPoint, ml::CSOPathPoints*& hitPathPoints, float& distance); 00050 bool isEditable(const ml::CSO* cso, View2DSliceList* slicelist, int currentSlice) const; 00055 virtual int getTimePoint(View2DSliceList* slicelist, int slice) const; 00058 bool shouldSkipCSOOnSlice(ml::CSO* cso, View2DSliceList* slicelist, int z); 00061 bool getHitCoordinates(View2DSliceList* slicelist, View2DEvent* ec, const ml::CSOBoundingBox& slabBB, ml::Vector3& hitPoint); 00063 void setUpIcons(); 00064 00066 void drawSeedPoints(CSOVisualParameters& visualParameters, const CSODrawCSOInfos& csoInfos, 00067 const CSODrawView2DInfos& view2DInfos, ml::CSOSeedPoint* underCursorSeedPoint, 00068 SoView2DExtension* extension, bool useIcons) const; 00069 00072 void drawSeedPoints(CSOVisualParameters& visualParameters, ml::CSO* cso, const CSODrawCSOInfos& csoInfos, 00073 const CSODrawView2DInfos& view2DInfos, ml::CSOSeedPoint* underCursorSeedPoint, 00074 SoView2DExtension* extension, bool useIcons) const; 00075 00076 protected: 00078 ~SoView2DCSOEditorBase(); 00079 00081 View2DIcons* _icons; 00082 00084 virtual bool getShouldOnlyInteractWithSelectedCSO() const = 0; 00085 virtual float getSelectionTolerance() const = 0; 00086 virtual bool getShowOnlyParallelCSOs() const = 0; 00087 virtual bool getShowCSOsOnAllTimePoints() const = 0; 00088 virtual bool getOverwriteCurrentTimePoint() const = 0; 00089 virtual int getNewCurrentTimePoint() const = 0; 00090 00091 virtual float getShowParallelThickness() const = 0; 00092 virtual bool getUseStylePalette() const = 0; 00093 virtual float getGlobalAlphaFactor() const = 0; 00094 virtual int getStylePaletteUseIndexAs() const = 0; 00095 virtual bool getUseIconFile() const = 0; 00096 virtual SbString getIconFile() const = 0; 00097 virtual SbString getInternalIconFile() const = 0; 00098 virtual bool getHighlightSelectedGroups() const = 0; 00099 00100 virtual bool getOverwriteSelectionVisualizationSettings() const = 0; 00101 virtual int getSelectionColoringMode() const = 0; 00102 virtual float getSelectionBrightenColor() const = 0; 00103 virtual SbColor getSelectionFixedColor() const = 0; 00104 virtual int getSelectionLineWidthMode() const = 0; 00105 virtual float getSelectionWidenLineWidth() const = 0; 00106 virtual float getSelectionFixedLineWidth() const = 0; 00107 virtual int getSelectedSeedPointColoringMode() const = 0; 00108 virtual int getSelectedSeedPointSizeMode() const = 0; 00109 virtual float getSelectedSeedPointBrightenColor() const = 0; 00110 virtual float getSelectedSeedPointAlpha() const = 0; 00111 virtual SbColor getSelectedSeedPointFixedColor() const = 0; 00112 virtual float getSelectedSeedPointEnlargeSize() const = 0; 00113 virtual float getSelectedSeedPointSize() const = 0; 00114 00115 virtual bool getEnableMouseOverHighlighting() const = 0; 00116 virtual int getMouseOverColorMode() const = 0; 00117 virtual SbColor getMouseOverColorColor() const = 0; 00118 virtual float getMouseOverColorBrightenValue() const = 0; 00119 virtual int getMouseOverLineWidthMode() const = 0; 00120 virtual float getMouseOverLineWidthLineWidth() const = 0; 00121 virtual float getMouseOverLineWidthWidenValue() const = 0; 00122 virtual bool getUsePathPointColorForSeedPoints() const = 0; 00123 virtual bool getShowSeedPoints() const = 0; 00124 00126 virtual int getLabelColorMode() const = 0; 00127 virtual SbColor getGeneralLabelColor() const = 0; 00128 virtual float getGeneralLabelAlpha() const = 0; 00130 00131 private: 00132 00133 }; 00134 00136 00137 #endif // __SoView2DCSOEditorBase_H