Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
SoPolygonOffsetElement.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 : R. ALBOU (Dec 1998)
22**=======================================================================*/
23
24 /* include files */
25#ifndef _SO_POLYGON_OFFSET_ELEMENT_
26#define _SO_POLYGON_OFFSET_ELEMENT_
27
28#include <Inventor/elements/SoReplacedElement.h>
29#include <Inventor/SbEnums.h>
30
42SoEXTENDER_Documented class SoPolygonOffsetElement : public SoReplacedElement {
43
44 SO_ELEMENT_HEADER(SoPolygonOffsetElement) ;
45
46 public:
48 enum Style {
50 FILLED = SbEnums::OFFSET_SOLID,
52 LINES = SbEnums::OFFSET_WIREFRAME,
54 POINTS = SbEnums::OFFSET_WIREFRAME
55 } ;
56
58 static void set(SoState *state, SoNode *node, float factor, float units, Style styles, SbBool on) ;
60 static void get(SoState *state, float &factor, float &units, Style &styles, SbBool &on) ;
61
63 virtual void push(SoState *state) ;
64
66 static void getDefault(float &factor, float &units, Style &styles, SbBool &on) ;
67
68private:
69
71 virtual void init(SoState *state);
72
74 virtual SbBool matches(const SoElement* elt) const;
75
77 virtual SoElement* copyMatchInfo() const;
78
79 private:
80 // Initializes the SoPolygonOffsetElement class
81 static void initClass() ;
82 static void exitClass() ;
83
84 private:
85 float m_factor ;
86 float m_units ;
87 Style m_stylesMask ;
88 SbBool m_on ;
89
90 virtual void setElt(float factor, float units, Style styles, SbBool on) ;
91
92 virtual ~SoPolygonOffsetElement() ;
93} ;
94
95#endif /* _SO_POLYGON_OFFSET_ELEMENT_ */
96
97
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 get(SoState *state, float &factor, float &units, Style &styles, SbBool &on)
Gets the current polygon offset attributes in the state.
static void getDefault(float &factor, float &units, Style &styles, SbBool &on)
Default values.
virtual void push(SoState *state)
Push copies the values from the previous element.
static void set(SoState *state, SoNode *node, float factor, float units, Style styles, SbBool on)
Sets the current polygon offset 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