MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoCSO/SoView2DCSOEditor/SoView2DCSOExtensibleEditor/extensions/SoCSOFillingRenderer/SoCSOFillingRenderer.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00009 //----------------------------------------------------------------------------------
00010 
00011 
00012 #ifndef __SoCSOFillingRenderer_H
00013 #define __SoCSOFillingRenderer_H
00014 
00015 #include <SoView2DCSOEditor/SoView2DCSOExtensibleEditor/SoCSOGeneralRendererEditorExtension.h>
00016 
00018 
00019 struct TessellationCrossingPoint 
00020 {
00021   TessellationCrossingPoint()
00022   {
00023     x = y = -1;
00024   }
00025   double x,y;
00026 };
00027 
00029 
00030 class SoView2DCSOExtensibleEditor;
00031 namespace ml 
00032 {
00033   class CSO;
00034 }
00035 
00037 
00039 class SOCSO_EXPORT SoCSOFillingRenderer : public SoCSOGeneralRendererEditorExtension
00040 {
00041   SO_NODE_HEADER(SoCSOFillingRenderer);
00042 
00043 public:
00044 
00046   SoCSOFillingRenderer();
00048   ~SoCSOFillingRenderer();
00049 
00051   virtual void draw(const CSODrawCSOInfos& csoDrawInfos, const CSODrawView2DInfos& view2DInfos, SoView2DCSOExtensibleEditor* editor);
00052 
00054   virtual void draw(const CSODrawCSOInfos& , const CSODrawView2DInfos& , const CSODrawSliceInformation& , SoView2DCSOExtensibleEditor* ) {}
00055   
00057   static void initClass();
00058 
00059   virtual int cursorShape() const { return SoViewerProxy::DEFAULT_CURSOR; }
00060 
00061   virtual bool shouldRenderGeneral(ml::CSO*) const { return false; }
00062 
00063   SoSFBool useHoleCorrection;
00064   SoSFBool useHoleCorrectionForGroupsOnly;
00065   SoSFBool onlyFillSelectedCSOs;
00066 
00067 protected:
00068 
00069 private:
00070 
00071   void deleteAdditionalVertices();
00072 };
00073 
00075 
00076 #endif // __SoCSOFillingRenderer_H