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 _SO_FULL_SCENE_ANTIALIASING_ELEMENT_
00025 #define _SO_FULL_SCENE_ANTIALIASING_ELEMENT_
00026
00027 #include <Inventor/elements/SoSubElement.h>
00039 SoEXTENDER_Documented class SoFullSceneAntialiasingElement : public SoElement {
00040
00041 SO_ELEMENT_HEADER(SoFullSceneAntialiasingElement);
00042
00043 public:
00045 enum Filter {
00047 POINTS = 0x01,
00049 LINES = 0x02,
00051 POLYGONS = 0x04,
00053 TEXT = 0x08,
00055 ALL = LINES | POINTS | POLYGONS | TEXT
00056 };
00057
00061 static void set(SoState *state, SbBool on, SbBool currOn, int filter);
00065 static SbBool get(SoState *state, SbBool &on, SbBool &pointsOn, SbBool &linesOn, SbBool &polygonsOn, SbBool &textsOn, int& filter);
00066
00070 virtual void push(SoState *state);
00071
00077 static SoFullSceneAntialiasingElement * getInstance(const SoState *state);
00078
00082 static SbBool getDefault(SbBool &on, SbBool &pointsOn, SbBool &linesOn, SbBool &polygonsOn, SbBool &textsOn, int& filter);
00083
00084 private:
00085
00087 virtual void init(SoState *state);
00088
00092 virtual SbBool matches(const SoElement* elt) const;
00093
00097 virtual SoElement* copyMatchInfo() const;
00098
00099 private:
00100
00101 static void initClass();
00102 static void exitClass();
00103
00104 private:
00105 SbBool m_on;
00106 SbBool m_currOn;
00107 int m_filterMask;
00108 SbBool m_pointsOn;
00109 SbBool m_linesOn;
00110 SbBool m_polygonsOn;
00111 SbBool m_textOn;
00112
00113 virtual void setElt(SbBool on, SbBool currOn, int filter);
00114
00115 virtual ~SoFullSceneAntialiasingElement();
00116 };
00117
00118 #endif
00119
00120
00121