00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _SO_PATTERN_ELEMENT_
00026 #define _SO_PATTERN_ELEMENT_
00027
00028 #include <Inventor/elements/SoReplacedElement.h>
00029 #include <Inventor/nodes/SoPattern.h>
00030
00042 SoEXTENDER_Documented class SoPatternElement : public SoReplacedElement {
00043 SO_ELEMENT_HEADER( SoPatternElement );
00044
00045 public:
00046
00050 static void set(SoState* state, SoNode *node, SbString category, SbString name);
00051
00056 static void get(SoState* state, SbString& category, SbString& name, unsigned char*& pattern);
00057
00059 virtual void push(SoState *state);
00060
00065 static void getDefault(SbString& category, SbString& name, unsigned char*& pattern);
00066
00067 private:
00068
00070 virtual void init(SoState* state);
00071
00073 virtual SbBool matches(const SoElement* elt) const;
00074
00076 virtual SoElement* copyMatchInfo() const;
00077
00078 private:
00079
00080 static void initClass();
00081 static void exitClass();
00082
00083 private:
00084 SbString m_category;
00085 SbString m_name;
00086 unsigned char* m_pattern;
00087
00088 virtual void setElt( SbString category, SbString name, unsigned char* pattern );
00089
00090 virtual ~SoPatternElement() ;
00091 };
00092
00093 #endif // _SO_PATTERN_ELEMENT_
00094
00095
00096