.TH "SoVRMLPointLight" 3 "Thu May 29 2014" "Version 4.0.0a" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoVRMLPointLight \- .PP The \fBSoVRMLPointLight\fP class is used to represent a point light\&. .PP \fBThe detailed class documentation is taken verbatim from the VRML97 standard (ISO/IEC 14772-1:1997)\&. It is copyright The Web3D Consortium, and is used by permission of the Consortium:\fP .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoVRMLLight\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const " .br .RI "\fIReturns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for run-time type checking and 'downward' casting\&. \fP" .ti -1c .RI "\fBSoVRMLPointLight\fP (void)" .br .ti -1c .RI "virtual void \fBGLRender\fP (\fBSoGLRenderAction\fP *action)" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "\fBSoSFVec3f\fP \fBlocation\fP" .br .ti -1c .RI "\fBSoSFFloat\fP \fBradius\fP" .br .ti -1c .RI "\fBSoSFVec3f\fP \fBattenuation\fP" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual const \fBSoFieldData\fP * \fBgetFieldData\fP (void) const " .br .ti -1c .RI "virtual \fB~SoVRMLPointLight\fP ()" .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBSoVRMLPointLight\fP class is used to represent a point light\&. .PP \fBThe detailed class documentation is taken verbatim from the VRML97 standard (ISO/IEC 14772-1:1997)\&. It is copyright The Web3D Consortium, and is used by permission of the Consortium:\fP .PP .nf PointLight { exposedField SFFloat ambientIntensity 0 # [0,1] exposedField SFVec3f attenuation 1 0 0 # [0, inf) exposedField SFColor color 1 1 1 # [0,1] exposedField SFFloat intensity 1 # [0,1] exposedField SFVec3f location 0 0 0 # (-inf, inf) exposedField SFBool on TRUE exposedField SFFloat radius 100 # [0, inf) } .fi .PP .PP The PointLight node specifies a point light source at a 3D location in the local coordinate system\&. A point light source emits light equally in all directions; that is, it is omnidirectional\&. PointLight nodes are specified in the local coordinate system and are affected by ancestor transformations\&. Subclause 4\&.6\&.6, Light sources (http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97/part1/concepts.html#4.6.6), contains a detailed description of the ambientIntensity, color, and intensity fields\&. .PP A PointLight node illuminates geometry within radius metres of its location\&. Both \fIradius\fP and \fIlocation\fP are affected by ancestors' transformations (scales affect \fIradius\fP and transformations affect \fIlocation\fP)\&. .PP The \fIradius\fP field shall be greater than or equal to zero\&. PointLight node's illumination falls off with distance as specified by three attenuation coefficients\&. The attenuation factor is 1/ max(attenuation[0] + attenuation[1]×r + attenuation[2]×r2, 1), where r is the distance from the light to the surface being illuminated\&. The default is no attenuation\&. An attenuation value of (0, 0, 0) is identical to (1, 0, 0)\&. Attenuation values shall be greater than or equal to zero\&. A detailed description of VRML's lighting equations is contained in 4\&.14, Lighting model (http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97/part1/concepts.html#4.14)\&. .SH "Constructor & Destructor Documentation" .PP .SS "SoVRMLPointLight::SoVRMLPointLight (void)" Constructor\&. .SS "SoVRMLPointLight::~SoVRMLPointLight ()\fC [protected]\fP, \fC [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoVRMLPointLight::getTypeId (void) const\fC [virtual]\fP" .PP Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for run-time type checking and 'downward' casting\&. Usage example: .PP .PP .nf void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } } .fi .PP .PP For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in \fIall\fP subclasses\&. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance \fBInventor/nodes/SoSubNode\&.h\fP (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine\&.h (for engine classes) and so on\&. .PP For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups\&. .PP Reimplemented from \fBSoVRMLLight\fP\&. .SS "const \fBSoFieldData\fP * SoVRMLPointLight::getFieldData (void) const\fC [protected]\fP, \fC [virtual]\fP" Returns a pointer to the class-wide field data storage object for this instance\&. If no fields are present, returns \fCNULL\fP\&. .PP Reimplemented from \fBSoVRMLLight\fP\&. .SS "void SoVRMLPointLight::GLRender (\fBSoGLRenderAction\fP *action)\fC [virtual]\fP" Action method for the \fBSoGLRenderAction\fP\&. .PP This is called during rendering traversals\&. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method\&. .PP Reimplemented from \fBSoVRMLLight\fP\&. .SH "Member Data Documentation" .PP .SS "\fBSoSFVec3f\fP SoVRMLPointLight::location" Point light position\&. .SS "\fBSoSFFloat\fP SoVRMLPointLight::radius" Radius of point light\&. .SS "\fBSoSFVec3f\fP SoVRMLPointLight::attenuation" The point light attenuation\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.