OpendTect  6.6
vislight.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Kristofer Tingdahl
8  Date: 4-11-2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "visbasemod.h"
16 #include "visdata.h"
17 #include "visnodestate.h"
18 #include "visosg.h"
19 
20 
21 namespace osg
22 {
23  class Light;
24  }
25 
26 namespace visBase
27 {
28 
35 {
36 public:
37  Light();
38  void setLightNum(int);
39  int getLightNum() const;
40 
41  void turnOn(bool n) { ison_ = n; updateLights(); }
42  bool isOn() const { return ison_; }
43 
44  void setAmbient(float);
46  float getAmbient() const;
47 
48  void setDiffuse(float);
50  float getDiffuse() const;
51 
52  void setDirection(float x,float y,float z);
54  float direction(int dim) const;
57  void fillPar( IOPar& ) const;
58  bool usePar( const IOPar& );
59 
60 
61 protected:
62  ~Light();
63  void updateLights();
64  void initLight();
65  bool ison_;
66  float ambient_;
67  float diffuse_;
68  osg::Light* light_;
69 
70  static const char* sKeyIsOn();
71  static const char* sKeyAmbient();
72  static const char* sKeyDiffuse();
73  static const char* sKeyLightNum();
74  static const char* sKeyDirection();
75 private:
77  osg::StateSet*,osg::StateAttribute*);
78 };
79 
80 
81 } //visBase
82 
visBase::Light::Light
Light()
visosg.h
visBase::Light::ambient_
float ambient_
Definition: vislight.h:66
visnodestate.h
visBase
Definition: visannot.h:43
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visBase::Light::diffuse_
float diffuse_
Definition: vislight.h:67
osg
Open Scene Graph.
Definition: visannot.h:29
visBase::Light::isOn
bool isOn() const
Definition: vislight.h:42
visBase::Light::setDirection
void setDirection(float x, float y, float z)
visBase::Light::updateLights
void updateLights()
visBase::Light::fillPar
void fillPar(IOPar &) const
visBase::Light::sKeyIsOn
static const char * sKeyIsOn()
visBase::Light::turnOn
void turnOn(bool n)
Definition: vislight.h:41
visBase::Light::direction
float direction(int dim) const
visBase::Light::applyAttribute
void applyAttribute(osg::StateSet *, osg::StateAttribute *)
visBase::Light::initLight
void initLight()
visBase::Light::sKeyLightNum
static const char * sKeyLightNum()
visBase::Light::usePar
bool usePar(const IOPar &)
visBase::Light::sKeyAmbient
static const char * sKeyAmbient()
visBase::Light::setDiffuse
void setDiffuse(float)
visBase::Light::~Light
~Light()
visBase::NodeState
Definition: visnodestate.h:27
visBase::Light::getDiffuse
float getDiffuse() const
visBase::Light::light_
osg::Light * light_
Definition: vislight.h:68
visdata.h
visBase::Light::sKeyDirection
static const char * sKeyDirection()
visBase::Light::setLightNum
void setLightNum(int)
visBase::Light::getLightNum
int getLightNum() const
visBase::Light::setAmbient
void setAmbient(float)
visBase::Light::ison_
bool ison_
Definition: vislight.h:65
visBase::Light
Class for all lights. More options are available in osg, but only what we currently need is implement...
Definition: vislight.h:35
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
visBase::Light::getAmbient
float getAmbient() const
visBase::Light::sKeyDiffuse
static const char * sKeyDiffuse()

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021