Neo  0.5.0
Developer Documentation
Neo::OLight Class Reference

Represents a 3D light in the scene. More...

#include <OLight.h>

+ Inheritance diagram for Neo::OLight:

Public Member Functions

 OLight (void)
 
 ~OLight (void)
 
 OLight (const OLight &light)
 
virtual int getType (void)
 Returns the type of the object. More...
 
void setLightType (LIGHT_TYPES lightType)
 Changes the light type the OLight has. More...
 
LIGHT_TYPES getLightType (void)
 Returns the light type. More...
 
void castShadow (bool shadow)
 Change if the light should cast shadows. More...
 
void setShadowQuality (unsigned int shadowQuality)
 Changes the shadow quality. More...
 
void setShadowBias (float shadowBias)
 Changes the shadow bias. More...
 
void setShadowBlur (float shadowBlur)
 Changes the shadow blur factor.. More...
 
bool isCastingShadow (void)
 Checks if the OLight is casting shadows. More...
 
unsigned int getShadowQuality (void)
 Returns the shadow quality of the OLight. More...
 
float getShadowBias (void)
 Returns the shadow bias. More...
 
float getShadowBlur (void)
 Returns the shadow blur. More...
 
void setRadius (float radius)
 Changes the light radius in which the OLight object takes effect. More...
 
float getRadius (void)
 Returns the light radius. More...
 
void setIntensity (float intensity)
 Changes the light intensity. More...
 
void setColor (const Vector3 &color)
 Changes the light color. More...
 
float getIntensity (void)
 Returns the light intensity. More...
 
Vector3 getColor (void) const
 Returns the light color. More...
 
Vector3 getFinalColor (void) const
 Returns the light color how it appears with the chosen intensity. More...
 
void setSpotAngle (float angle)
 Changes the spot angle. More...
 
void setSpotExponent (float exponent)
 Changes the exponent value. More...
 
float getSpotAngle (void)
 Returns the spot angle. More...
 
float getSpotExponent (void)
 Returns the spot exponent. More...
 
virtual void updateVisibility (OCamera *camera)
 Recalculates visibility for the given camera. More...
 
- Public Member Functions inherited from Neo::Object3d
 Object3d (void)
 
virtual ~Object3d (void)
 
 Object3d (const Object3d &object)
 
AdditionalDatagetAdditionalData ()
 
void setAdditionalData (AdditionalData *d)
 
void updateMatrix (void)
 Recalculates the internal matrix relative to the parent object. More...
 
void computeLocalMatrix (void)
 Calculates the local matrix without respecting the parent. More...
 
Matrix4x4getMatrix (void)
 Returns the current matrix. More...
 
void unlinkChildren (void)
 Unlinks all children from this object and sets their parent to NULL. More...
 
void computeChildrenMatrices (void)
 Calculates the matrix of every child object. More...
 
void setAttribute (const char *name, NeoVariable variable)
 Sets the value of the attribute with the given name. More...
 
NeoVariable getAttribute (const char *name)
 Returns the value of the attribute variable with the given name. More...
 
Vector3 getUniformRotatedVector (const Vector3 &vector)
 Rotates the given vector while preserving its length and returns the result. More...
 
Vector3 getInverseRotatedVector (const Vector3 &vector) const
 Calculates the inverse rotated vector. More...
 
Vector3 getRotatedVector (const Vector3 &vector) const
 Rotates the given vector and returns the result. More...
 
Vector3 getInversePosition (const Vector3 &position) const
 Multiplies the inverse matrix with the given vector and return the result. More...
 
Vector3 getTransformedVector (const Vector3 &vector) const
 Transforms the given vector using the internal matrix. More...
 
void setPosition (const Vector3 &position)
 Changes the position. More...
 
void translate (const Vector3 &vec, bool local=false)
 Translates the object. More...
 
void rotate (const Vector3 &axis, float angle, bool local=false)
 Rotates the object. More...
 
Vector3 getTransformedPosition (void) const
 Returns the transformed position directly from the internal matrix. More...
 
Vector3 getPosition (void) const
 Returns the position as a Vector3. More...
 
void setEulerRotation (const Vector3 &euler)
 Changes the Euler rotation. More...
 
void setAxisAngleRotation (const Vector3 &axis, float angle)
 Changes the angle of the specified axis. More...
 
void addAxisAngleRotation (const Vector3 &axis, float angle)
 Changes the angle of the specified axis by adding the given value. More...
 
void setRotation (const Quaternion &rotation)
 Sets the rotation or the object. More...
 
Vector3 getTransformedRotation (void) const
 Returns the transformed rotation. More...
 
Vector3 getEulerRotation (void) const
 Returns the Euler rotation in a Vector3 in degrees. More...
 
Quaternion getRotation (void) const
 Returns the rotation of the object. More...
 
void setScale (const Vector3 &scale)
 Changes the scale of the object. More...
 
Vector3 getTransformedScale (void) const
 Returns the transformed scale of the object. More...
 
Vector3 getScale (void) const
 Returns the scale of the object. More...
 
void linkTo (Object3d *parent)
 Links the object to another object. More...
 
void unLink (void)
 Removing the link to the parent object. More...
 
void setParent (Object3d *object)
 Sets the parent object. More...
 
void addChild (Object3d *child)
 Adds an Object3d to the list of children. More...
 
bool hasParent (void)
 Checks if the object has a parent. More...
 
unsigned int getChildrenNumber (void)
 Returns the number of children. More...
 
Object3dgetParent (void)
 Returns the parent object. More...
 
Object3dgetChild (unsigned int id)
 Returns the child with the given ID. More...
 
unsigned long getId ()
 Returns the ID of the object. More...
 
void setId (unsigned long id)
 Changes the ID of the object. More...
 
void updateBehaviors (void)
 Updates all behaviors. More...
 
void drawBehaviors (void)
 Draws all behaviors. More...
 
void deleteBehavior (unsigned int id)
 Deletes the Behavior with the given ID. More...
 
void invertBehavior (unsigned int idA, unsigned int idB)
 Switches the IDs of the given behavior IDs. More...
 
void changeBehavior (unsigned int id, Behavior *behavior)
 Replaces the behavior with the given ID with the given Behavior. More...
 
void addBehavior (Behavior *behavior)
 Adds a new behavior to the list of behaviors. More...
 
unsigned int getBehaviorsNumber (void)
 Returns the number of registered Behaviors. More...
 
BehaviorgetBehavior (unsigned int id)
 Returns the Behavior with the given ID. More...
 
bool needToUpdate (void)
 Checks if the object needs to be updated. More...
 
virtual void setActive (bool active)
 Changes if the object is being active or inactive. More...
 
bool isActive (void)
 Checks if the object is active. More...
 
void setVisible (bool visible)
 Changes if the object is visible or not. More...
 
bool isVisible (void)
 Checks if the object is visible. More...
 
void setName (const char *name)
 Change the object name. More...
 
const char * getName (void)
 Returns the object name. More...
 
virtual void update (void)
 Updates the object. More...
 

Additional Inherited Members

- Protected Types inherited from Neo::Object3d
typedef unordered_map< string, NeoVariable >::iterator AttributeIterator
 
typedef map< string, NeoVariable >::iterator AttributeIterator
 
- Protected Member Functions inherited from Neo::Object3d
void clearObject3d (void)
 
- Protected Attributes inherited from Neo::Object3d
String m_name
 The name of the object. More...
 
Vector3 m_position
 The positopm. More...
 
Vector3 m_scale
 The scale. More...
 
Quaternion m_rotation
 The rotation. More...
 
Matrix4x4 m_matrix
 The matrix. More...
 
vector< Object3d * > m_children
 List of children. More...
 
unordered_map< string, NeoVariablem_attributes
 
map< string, NeoVariablem_attributes
 
bool m_isActive
 
bool m_isVisible
 
bool m_needToUpdate
 
unsigned long m_id
 
Object3dm_parent
 
vector< Behavior * > m_behaviors
 List of behaviors. More...
 

Detailed Description

Represents a 3D light in the scene.

How to create a new OLight:

Level* level = NeoEngine::getInstance()->getLevel();
Scene* scene = level->getCurrentScene();
OLight* newEntity = scene->addNewLight();
See also
Object3d

Constructor & Destructor Documentation

Neo::OLight::OLight ( void  )
Neo::OLight::~OLight ( void  )
Neo::OLight::OLight ( const OLight light)

Member Function Documentation

void Neo::OLight::castShadow ( bool  shadow)
inline

Change if the light should cast shadows.

Parameters
shadowThe new value.
Vector3 Neo::OLight::getColor ( void  ) const
inline

Returns the light color.

Returns
The light color.
Vector3 Neo::OLight::getFinalColor ( void  ) const
inline

Returns the light color how it appears with the chosen intensity.

Returns
lightColor * intensity as a Vector3.
float Neo::OLight::getIntensity ( void  )
inline

Returns the light intensity.

Returns
The intensity.
LIGHT_TYPES Neo::OLight::getLightType ( void  )
inline

Returns the light type.

Returns
The light type.
float Neo::OLight::getRadius ( void  )
inline

Returns the light radius.

Returns
The radius.
float Neo::OLight::getShadowBias ( void  )
inline

Returns the shadow bias.

Returns
The shadow bias.
See also
setShadowBias
float Neo::OLight::getShadowBlur ( void  )
inline

Returns the shadow blur.

Returns
The shadow blur.
See also
setShadowBlur
unsigned int Neo::OLight::getShadowQuality ( void  )
inline

Returns the shadow quality of the OLight.

Returns
The shadow quality.
See also
setShadowQuality
float Neo::OLight::getSpotAngle ( void  )
inline

Returns the spot angle.

Returns
The spot angle in degrees.
float Neo::OLight::getSpotExponent ( void  )
inline

Returns the spot exponent.

Returns
The spot exponent.
virtual int Neo::OLight::getType ( void  )
inlinevirtual

Returns the type of the object.

Returns
The type.

Reimplemented from Neo::Object3d.

bool Neo::OLight::isCastingShadow ( void  )
inline

Checks if the OLight is casting shadows.

Returns
A boolean value.
void Neo::OLight::setColor ( const Vector3 color)
inline

Changes the light color.

Parameters
colorThe new light color.
void Neo::OLight::setIntensity ( float  intensity)
inline

Changes the light intensity.

Parameters
intensityThe intensity.
void Neo::OLight::setLightType ( LIGHT_TYPES  lightType)
inline

Changes the light type the OLight has.

Parameters
lightTypeThe new light type.
void Neo::OLight::setRadius ( float  radius)
inline

Changes the light radius in which the OLight object takes effect.

Parameters
radiusThe radius.
void Neo::OLight::setShadowBias ( float  shadowBias)
inline

Changes the shadow bias.

The shadow bias controls the offset that the shadow uses to prevent self shadowing of an object.

Parameters
shadowBiasThe new shadow bias value.
void Neo::OLight::setShadowBlur ( float  shadowBlur)
inline

Changes the shadow blur factor..

Parameters
shadowBlurThe new shadow blur value.
void Neo::OLight::setShadowQuality ( unsigned int  shadowQuality)
inline

Changes the shadow quality.

Powers of two like 1024 or 4096 are to be preferred.

Parameters
shadowQualityThe new shadow quality.
void Neo::OLight::setSpotAngle ( float  angle)
inline

Changes the spot angle.

Values are clamped between 0.0f and 180.0f.

Parameters
angleThe angle in degrees.
void Neo::OLight::setSpotExponent ( float  exponent)
inline

Changes the exponent value.

Parameters
exponentThe new exponent value.
virtual void Neo::OLight::updateVisibility ( OCamera camera)
virtual

Recalculates visibility for the given camera.

Used for culling.

Parameters
cameraThe camera to check visibility for.

Reimplemented from Neo::Object3d.


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