Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoLightModel.h
1/*=======================================================================
2 * Copyright 1991-1996, Silicon Graphics, Inc.
3 * ALL RIGHTS RESERVED
4 *
5 * UNPUBLISHED -- Rights reserved under the copyright laws of the United
6 * States. Use of a copyright notice is precautionary only and does not
7 * imply publication or disclosure.
8 *
9 * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10 * Use, duplication or disclosure by the Government is subject to restrictions
11 * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12 * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13 * in similar or successor clauses in the FAR, or the DOD or NASA FAR
14 * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15 * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16 *
17 * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18 * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19 * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20 * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21 * GRAPHICS, INC.
22**=======================================================================*/
23/*=======================================================================
24** Author : Paul S. Strauss (MMM yyyy)
25**=======================================================================*/
26/*=======================================================================
27 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
28 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
29 *** ***
30 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
31 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
32 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
33 *** ***
34 *** RESTRICTED RIGHTS LEGEND ***
35 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
36 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
37 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
38 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
39 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
40 *** ***
41 *** COPYRIGHT (C) 1996-2024 BY FEI S.A.S, ***
42 *** BORDEAUX, FRANCE ***
43 *** ALL RIGHTS RESERVED ***
44**=======================================================================*/
45/*=======================================================================
46** Modified by : VSG (MMM YYYY)
47**=======================================================================*/
48
49
50#ifndef _SO_LIGHT_MODEL_
51#define _SO_LIGHT_MODEL_
52
53#include <Inventor/fields/SoSFEnum.h>
54#include <Inventor/fields/SoSFBool.h>
55#include <Inventor/nodes/SoNode.h>
56#include <Inventor/elements/SoLightModelElement.h>
57
59//
60// Class: SoLightModel
61//
62// Light model node.
63//
65
245class SoLightModel : public SoNode {
246
247 SO_NODE_HEADER(SoLightModel);
248
249 public:
280
281 // Fields
287
292
297 inline virtual void setOverride(const SbBool state)
298 { override.setValue(state); }
299
303 inline virtual SbBool isOverride() const
304 { return override.getValue(); }
305
306 private:
307 virtual void doAction(SoAction *action);
308 virtual void GLRender(SoGLRenderAction *action);
309 virtual void callback(SoCallbackAction *action);
310
311 private:
312 static void initClass();
313 static void exitClass();
314
315 SoSFBool override;
316
317 private:
318 virtual ~SoLightModel();
319};
320
321#endif /* _SO_LIGHT_MODEL_ */
322
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.
@ PHYSICALLY_BASED
Physically based lighting.
@ BASE_COLOR
No lighting; just use base color.
@ PER_PIXEL_PHONG
Per-pixel Phong lighting.
@ PER_VERTEX_PHONG
Per-vertex Phong lighting.
Node that defines the lighting model to use when rendering.
Model
Lighting model.
@ PER_PIXEL_PHONG
Use the Pixel-based Phong lighting model.
@ PER_VERTEX_PHONG
Use the Vertex-based Phong lighting model (default).
@ PHONG
Use Phong lighting model.
@ PHYSICALLY_BASED
Use the physically based lighting model.
@ BASE_COLOR
Use only the base color of an object.
SoSFEnum model
Lighting model to use Use enum Model.
SoLightModel()
Creates a light model node with default settings.
virtual void setOverride(const SbBool state)
Set the state of the override field.
virtual SbBool isOverride() const
Returns the state of the override field.
Abstract base class for all database nodes.
Definition SoNode.h:145
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing an enumerated value.
Definition SoSFEnum.h:89
int SbBool
Boolean type.
Definition SbBase.h:87