MeVisLabToolboxReference
|
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