Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoPhysicalMaterial.h
1#pragma once
2
3/*============================================================================
4** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), **
5** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. **
6** **
7** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS **
8** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR **
9** WRITTEN AUTHORIZATION OF FEI S.A.S. **
10** **
11** RESTRICTED RIGHTS LEGEND **
12** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS **
13** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN **
14** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT **
15** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN **
16** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. **
17** **
18** COPYRIGHT (C) 1996-2024 BY FEI S.A.S, **
19** BORDEAUX, FRANCE **
20** ALL RIGHTS RESERVED **
21============================================================================*/
22
23#include <Inventor/nodes/SoNode.h>
24#include <Inventor/fields/SoSFBool.h>
25#include <Inventor/fields/SoSFFloat.h>
26#include <Inventor/fields/SoSFColorRGBA.h>
27
28class SoAction;
31class SoWriteAction;
32class SoRayPickAction;
33
104{
105 SO_NODE_HEADER(SoPhysicalMaterial);
106
107public:
123
138
149
159
161
163 inline virtual void setOverride(const SbBool state)
164 {
165 override.setValue(state);
166 }
167
169 inline virtual SbBool isOverride() const
170 {
171 return override.getValue();
172 }
173
174private:
175 virtual void doAction(SoAction* action);
176 virtual void GLRender(SoGLRenderAction* action);
177 virtual void callback(SoCallbackAction* action);
178 virtual void write(SoWriteAction* action);
179 virtual void rayPick(SoRayPickAction* action);
180
181private:
182 static void initClass();
183 static void exitClass();
184
185 SoSFBool override;
186
187private:
188 virtual ~SoPhysicalMaterial();
189
190private:
191 float m_transparencyValue;
192};
Abstract base class for all actions.
Definition SoAction.h:132
Performs a generic traversal of a scene graph or path.
Renders a scene graph using Open Inventor's Render Engine.
Abstract base class for all database nodes.
Definition SoNode.h:145
Physically based surface material definition node.
virtual SbBool isOverride() const
Returns the state of the override flag.
virtual void setOverride(const SbBool state)
Turns the override flag on or off.
SoSFFloat metallic
Metallic coefficient of the surface.
SoSFColorRGBA baseColor
Base color of the surface.
SoSFFloat roughness
Roughness coefficient of the surface.
SoSFFloat specular
Specular coefficient of the surface.
Intersects objects with a ray cast into scene.
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing an RGBA color.
Field containing a floating-point value.
Definition SoSFFloat.h:78
Writes a scene graph to a file.
int SbBool
Boolean type.
Definition SbBase.h:87