ViewProviderReference.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef PARTGUI_ViewProviderPartReference_H
00025 #define PARTGUI_ViewProviderPartReference_H
00026
00027 #include <Standard_math.hxx>
00028 #include <Standard_Boolean.hxx>
00029 #include <TopoDS_Shape.hxx>
00030 #include <Gui/ViewProviderGeometryObject.h>
00031 #include <Gui/ViewProviderBuilder.h>
00032 #include <map>
00033
00034 class TopoDS_Shape;
00035 class TopoDS_Edge;
00036 class TopoDS_Wire;
00037 class TopoDS_Face;
00038 class SoSeparator;
00039 class SoGroup;
00040 class SoSwitch;
00041 class SoVertexShape;
00042 class SoPickedPoint;
00043 class SoShapeHints;
00044 class SoEventCallback;
00045 class SbVec3f;
00046 class SoSphere;
00047 class SoScale;
00048
00049 namespace PartGui {
00050
00051
00052 class PartGuiExport ViewProviderPartReference : public Gui::ViewProviderGeometryObject
00053 {
00054 PROPERTY_HEADER(PartGui::ViewProviderPartReference);
00055
00056 public:
00058 ViewProviderPartReference();
00060 virtual ~ViewProviderPartReference();
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 virtual void attach(App::DocumentObject *);
00074 virtual void setDisplayMode(const char* ModeName);
00076 virtual std::vector<std::string> getDisplayModes(void) const;
00078 void reload();
00079
00080 virtual void updateData(const App::Property*);
00081
00082 protected:
00084 virtual void onChanged(const App::Property* prop);
00085
00086
00087
00088 SoGroup *EdgeRoot;
00089 SoGroup *FaceRoot;
00090 SoGroup *VertexRoot;
00091 SoMaterial *pcLineMaterial;
00092 SoMaterial *pcPointMaterial;
00093 SoDrawStyle *pcLineStyle;
00094 SoDrawStyle *pcPointStyle;
00095 SoSwitch *pcControlPoints;
00096 SoShapeHints *pShapeHints;
00097
00098 private:
00099
00100 float meshDeviation;
00101 bool noPerVertexNormals;
00102 bool qualityNormals;
00103 static App::PropertyFloatConstraint::Constraints floatRange;
00104 static const char* LightingEnums[];
00105 };
00106
00107
00108
00109 }
00110
00111
00112 #endif // PARTGUI_ViewProviderPartReference_H
00113