VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkExternalLight Class Reference

a virtual light object for tweaking existing lights in an external 3D rendering context More...

#include <vtkExternalLight.h>

Inheritance diagram for vtkExternalLight:
[legend]
Collaboration diagram for vtkExternalLight:
[legend]

Public Types

enum  ReplaceModes { INDIVIDUAL_PARAMS = 0, ALL_PARAMS = 1 }
 
typedef vtkLight Superclass
 
- Public Types inherited from vtkLight
typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkExternalLightNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void SetPosition (double, double, double)
 
void SetFocalPoint (double, double, double)
 
void SetAmbientColor (double, double, double)
 
void SetDiffuseColor (double, double, double)
 
void SetSpecularColor (double, double, double)
 
void SetIntensity (double)
 
void SetConeAngle (double)
 
void SetAttenuationValues (double, double, double)
 
void SetExponent (double)
 
void SetPositional (int)
 
virtual void SetLightIndex (int)
 
virtual int GetLightIndex ()
 
virtual void SetReplaceMode (int)
 
virtual int GetReplaceMode ()
 
virtual bool GetPositionSet ()
 
virtual bool GetFocalPointSet ()
 
virtual bool GetAmbientColorSet ()
 
virtual bool GetDiffuseColorSet ()
 
virtual bool GetSpecularColorSet ()
 
virtual bool GetIntensitySet ()
 
virtual bool GetConeAngleSet ()
 
virtual bool GetAttenuationValuesSet ()
 
virtual bool GetExponentSet ()
 
virtual bool GetPositionalSet ()
 
- Public Member Functions inherited from vtkLight
vtkLightNewInstance () const
 
virtual vtkLightShallowClone ()
 
virtual void Render (vtkRenderer *, int)
 
void DeepCopy (vtkLight *light)
 
void ReadSelf (istream &is)
 
void WriteSelf (ostream &os)
 
virtual void SetAmbientColor (double[3])
 
virtual doubleGetAmbientColor ()
 
virtual void GetAmbientColor (double data[3])
 
virtual void SetDiffuseColor (double[3])
 
virtual doubleGetDiffuseColor ()
 
virtual void GetDiffuseColor (double data[3])
 
virtual void SetSpecularColor (double[3])
 
virtual doubleGetSpecularColor ()
 
virtual void GetSpecularColor (double data[3])
 
void SetColor (double, double, double)
 
void SetColor (const double a[3])
 
virtual void SetPosition (double[3])
 
virtual doubleGetPosition ()
 
virtual void GetPosition (double data[3])
 
void SetPosition (const float *a)
 
virtual void SetFocalPoint (double[3])
 
virtual doubleGetFocalPoint ()
 
virtual void GetFocalPoint (double data[3])
 
void SetFocalPoint (const float *a)
 
virtual double GetIntensity ()
 
virtual void SetSwitch (int)
 
virtual int GetSwitch ()
 
virtual void SwitchOn ()
 
virtual void SwitchOff ()
 
virtual int GetPositional ()
 
virtual void PositionalOn ()
 
virtual void PositionalOff ()
 
virtual double GetExponent ()
 
virtual double GetConeAngle ()
 
virtual void SetAttenuationValues (double[3])
 
virtual doubleGetAttenuationValues ()
 
virtual void GetAttenuationValues (double data[3])
 
virtual void SetTransformMatrix (vtkMatrix4x4 *)
 
virtual vtkMatrix4x4GetTransformMatrix ()
 
void GetTransformedPosition (double &a0, double &a1, double &a2)
 
void GetTransformedPosition (double a[3])
 
doubleGetTransformedPosition ()
 
void GetTransformedFocalPoint (double &a0, double &a1, double &a2)
 
void GetTransformedFocalPoint (double a[3])
 
doubleGetTransformedFocalPoint ()
 
void SetDirectionAngle (double elevation, double azimuth)
 
void SetDirectionAngle (const double ang[2])
 
virtual void SetLightType (int)
 
virtual int GetLightType ()
 
void SetLightTypeToHeadlight ()
 
void SetLightTypeToSceneLight ()
 
void SetLightTypeToCameraLight ()
 
int LightTypeIsHeadlight ()
 
int LightTypeIsSceneLight ()
 
int LightTypeIsCameraLight ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkExternalLightSafeDownCast (vtkObjectBase *o)
 
static vtkExternalLightNew ()
 
- Static Public Member Functions inherited from vtkLight
static int IsTypeOf (const char *type)
 
static vtkLightSafeDownCast (vtkObjectBase *o)
 
static vtkLightNew ()
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkExternalLight ()
 
 ~vtkExternalLight ()
 
- Protected Member Functions inherited from vtkLight
 vtkLight ()
 
 ~vtkLight ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

int LightIndex
 
int ReplaceMode
 
bool PositionSet
 
bool FocalPointSet
 
bool AmbientColorSet
 
bool DiffuseColorSet
 
bool SpecularColorSet
 
bool IntensitySet
 
bool ConeAngleSet
 
bool AttenuationValuesSet
 
bool ExponentSet
 
bool PositionalSet
 
- Protected Attributes inherited from vtkLight
double FocalPoint [3]
 
double Position [3]
 
double Intensity
 
double AmbientColor [3]
 
double DiffuseColor [3]
 
double SpecularColor [3]
 
int Switch
 
int Positional
 
double Exponent
 
double ConeAngle
 
double AttenuationValues [3]
 
vtkMatrix4x4TransformMatrix
 
double TransformedFocalPointReturn [3]
 
double TransformedPositionReturn [3]
 
int LightType
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

a virtual light object for tweaking existing lights in an external 3D rendering context

vtkExternalLight is a virtual light object for tweaking existing lights in an external 3D rendering context. It provides a mechanism to adjust and control parameters of existing lights in an external OpenGL context.

It provides methods to locate and point the light, and set its brightness and color. In addition to the basic infinite distance point light source attributes, you can also specify the light attenuation values and cone angle. These attributes are only used if the light is a positional light.

By default, vtkExternalLight overrides specific light parameters as set by the user. Setting the ReplaceMode to ALL_PARAMS, will set all the light parameter values to the ones set in vtkExternalLight.

Warning
Use the vtkExternalLight object to tweak parameters of lights created in the external context. This class does NOT create new lights in the scene.
Example:
Usage example for vtkExternalLight in conjunction with vtkExternalOpenGLRenderer and ExternalVTKWidget
exLight->SetLightIndex(GL_LIGHT0); // GL_LIGHT0 identifies the external light
exLight->SetDiffuseColor(1.0, 0.0, 0.0); // Changing diffuse color
ren->AddExternalLight(exLight.GetPointer());
See also
vtkExternalOpenGLRenderer ExternalVTKWidget

Definition at line 60 of file vtkExternalLight.h.

Member Typedef Documentation

Definition at line 63 of file vtkExternalLight.h.

Member Enumeration Documentation

Enumerator
INDIVIDUAL_PARAMS 
ALL_PARAMS 

Definition at line 75 of file vtkExternalLight.h.

Constructor & Destructor Documentation

vtkExternalLight::vtkExternalLight ( )
protected
vtkExternalLight::~vtkExternalLight ( )
protected

Member Function Documentation

static int vtkExternalLight::IsTypeOf ( const char *  type)
static
virtual int vtkExternalLight::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkLight.

static vtkExternalLight* vtkExternalLight::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkExternalLight::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkLight.

vtkExternalLight* vtkExternalLight::NewInstance ( ) const
void vtkExternalLight::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkLight.

static vtkExternalLight* vtkExternalLight::New ( )
static

Create an external light object with the focal point at the origin and its position set to (0,0,1). The light is a Headlight, its color is white (black ambient, white diffuse, white specular), intensity=1, the light is turned on, positional lighting is off, ConeAngle=30, AttenuationValues=(1,0,0), Exponent=1 and the TransformMatrix is NULL. The light index is GL_LIGHT0, which means the existing light with index GL_LIGHT0 will be affected by this light.

virtual void vtkExternalLight::SetLightIndex ( int  )
virtual

Set/Get light index This should be the OpenGL light identifier. (e.g.: GL_LIGHT0) (Default: GL_LIGHT0)

virtual int vtkExternalLight::GetLightIndex ( )
virtual

Set/Get light index This should be the OpenGL light identifier. (e.g.: GL_LIGHT0) (Default: GL_LIGHT0)

virtual void vtkExternalLight::SetReplaceMode ( int  )
virtual

Set/Get replace mode This determines how this ExternalLight will be used to tweak parameters on an existing light in the rendering context. (Default: INDIVIDUAL_PARAMS)

virtual int vtkExternalLight::GetReplaceMode ( )
virtual

Set/Get replace mode This determines how this ExternalLight will be used to tweak parameters on an existing light in the rendering context. (Default: INDIVIDUAL_PARAMS)

void vtkExternalLight::SetPosition ( double  ,
double  ,
double   
)
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetFocalPoint ( double  ,
double  ,
double   
)
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetAmbientColor ( double  ,
double  ,
double   
)
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetDiffuseColor ( double  ,
double  ,
double   
)
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetSpecularColor ( double  ,
double  ,
double   
)
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetIntensity ( double  )
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetConeAngle ( double  )
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetAttenuationValues ( double  ,
double  ,
double   
)
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetExponent ( double  )
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

void vtkExternalLight::SetPositional ( int  )
virtual

Override Set method to keep a record of changed value

Reimplemented from vtkLight.

virtual bool vtkExternalLight::GetPositionSet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetFocalPointSet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetAmbientColorSet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetDiffuseColorSet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetSpecularColorSet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetIntensitySet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetConeAngleSet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetAttenuationValuesSet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetExponentSet ( )
virtual

Check whether value set by user

virtual bool vtkExternalLight::GetPositionalSet ( )
virtual

Check whether value set by user

Member Data Documentation

int vtkExternalLight::LightIndex
protected

Definition at line 185 of file vtkExternalLight.h.

int vtkExternalLight::ReplaceMode
protected

Definition at line 186 of file vtkExternalLight.h.

bool vtkExternalLight::PositionSet
protected

Definition at line 188 of file vtkExternalLight.h.

bool vtkExternalLight::FocalPointSet
protected

Definition at line 189 of file vtkExternalLight.h.

bool vtkExternalLight::AmbientColorSet
protected

Definition at line 190 of file vtkExternalLight.h.

bool vtkExternalLight::DiffuseColorSet
protected

Definition at line 191 of file vtkExternalLight.h.

bool vtkExternalLight::SpecularColorSet
protected

Definition at line 192 of file vtkExternalLight.h.

bool vtkExternalLight::IntensitySet
protected

Definition at line 193 of file vtkExternalLight.h.

bool vtkExternalLight::ConeAngleSet
protected

Definition at line 194 of file vtkExternalLight.h.

bool vtkExternalLight::AttenuationValuesSet
protected

Definition at line 195 of file vtkExternalLight.h.

bool vtkExternalLight::ExponentSet
protected

Definition at line 196 of file vtkExternalLight.h.

bool vtkExternalLight::PositionalSet
protected

Definition at line 197 of file vtkExternalLight.h.


The documentation for this class was generated from the following file: