MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoCSO/SoView2DCSOEditor/SoView2DCSOEditorBase.h
Go to the documentation of this file.
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