Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoPatternElement.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : P. ESTRADE (Nov 1999)
22**=======================================================================*/
23
24#pragma once
25
26#include <Inventor/elements/SoReplacedElement.h>
27
39SoEXTENDER_Documented class SoPatternElement : public SoReplacedElement {
40 SO_ELEMENT_HEADER( SoPatternElement );
41
42 public:
43
47 static void set(SoState* state, SoNode* node, SbString category, SbString name);
48
54 static void get(SoState* state, SbString& category, SbString& name, unsigned char*& pattern);
55
57 virtual void push(SoState *state);
58
63 static void getDefault(SbString& category, SbString& name, unsigned char*& pattern);
64
65private:
66
68 virtual void init(SoState* state);
69
71 virtual SbBool matches(const SoElement* elt) const;
72
74 virtual SoElement* copyMatchInfo() const;
75
76 private:
77 // Initializes the SoPattern class
78 static void initClass();
79 static void exitClass();
80
81 private:
82 SbString m_category;
83 SbString m_name;
84 unsigned char* m_pattern;
85
86 virtual void setElt( SbString category, SbString name, unsigned char* pattern );
87
88 virtual ~SoPatternElement() ;
89};
Class for smart character strings.
Definition SbString.h:202
Abstract base class for all state elements.
Definition SoElement.h:102
Abstract base class for all database nodes.
Definition SoNode.h:145
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Stores current p...
static void getDefault(SbString &category, SbString &name, unsigned char *&pattern)
Default values.
virtual void push(SoState *state)
Push copies the values from the previous element.
static void get(SoState *state, SbString &category, SbString &name, unsigned char *&pattern)
Gets the current pattern attributes in the state pattern is NULL if no pattern has been set.
static void set(SoState *state, SoNode *node, SbString category, SbString name)
Sets the current pattern attributes in the state.
Abstract base class for each state element whose value is replaced whenever it is set.
Traversal state.
Definition SoState.h:74
int SbBool
Boolean type.
Definition SbBase.h:87