00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _SO_BEVEL_PROPERTY_ELEMENT
00024 #define _SO_BEVEL_PROPERTY_ELEMENT
00025
00026 #include <Inventor/fields/SoMFInt32.h>
00027 #include <Inventor/elements/SoReplacedElement.h>
00028 #include <Inventor/nodes/SoBevelProperty.h>
00029
00041 SoEXTENDER_Documented class SoBevelPropertyElement : public SoReplacedElement {
00042
00043 SO_ELEMENT_HEADER(SoBevelPropertyElement);
00044
00045 public:
00046
00051 static void setAngle(SoState *state, SoNode *node,
00052 float);
00057 static void setRadius(SoState *state, SoNode *node,
00058 float = SoBevelProperty::DEFAULT_RADIUS);
00062 static void setAbsoluteRadius(SoState *state, SoNode *node,
00063 float);
00064
00069 static void setTests(SoState *state, SoNode *node,
00070 int);
00074 static void setVRMLOutput(SoState *state, SoNode *node,
00075 SbBool);
00076
00080 static const SoBevelPropertyElement * getInstance(SoState *state)
00081 {return getConstElement<SoBevelPropertyElement>(state);}
00082
00086 float getAngle() const {return angle;}
00090 float getRadius() const {return radius;}
00094 SbBool isAbsoluteRadius() const {return absoluteRadius;}
00098 SbBool isEnabled() const {return propertyEnabled;}
00103 SbBool isCoplanarTestEnabled() const {return tests & SoBevelProperty::COPLANAR_TEST;}
00108 SbBool isDuplicateTestEnabled() const {return tests & SoBevelProperty::DUPLICATE_TEST;}
00113 SbBool isOrderingTestEnabled() const {return tests & SoBevelProperty::ORDERING_TEST;}
00118 int getTestsToDoBeforeBevel() const {return tests;}
00122 SbBool isOutputVRML() const { return vrmlOutput;}
00126 virtual void print(FILE *fp) const;
00127
00128 private:
00129
00131 virtual void init(SoState *state);
00132
00133 private:
00134
00135 static void initClass();
00136 static void exitClass();
00137
00138 private:
00139 float angle, radius;
00140 SbBool absoluteRadius, propertyEnabled;
00141 int tests;
00142 SbBool vrmlOutput;
00143
00144 virtual ~SoBevelPropertyElement();
00145 };
00146
00147 #endif
00148
00149
00150