Neo
0.5.0
Developer Documentation
|
Represents a 3D light in the scene. More...
#include <OLight.h>
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) | |
AdditionalData * | getAdditionalData () |
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... | |
Matrix4x4 * | getMatrix (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... | |
Object3d * | getParent (void) |
Returns the parent object. More... | |
Object3d * | getChild (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... | |
Behavior * | getBehavior (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, NeoVariable > | m_attributes |
map< string, NeoVariable > | m_attributes |
bool | m_isActive |
bool | m_isVisible |
bool | m_needToUpdate |
unsigned long | m_id |
Object3d * | m_parent |
vector< Behavior * > | m_behaviors |
List of behaviors. More... | |
Represents a 3D light in the scene.
How to create a new OLight:
Neo::OLight::OLight | ( | void | ) |
Neo::OLight::~OLight | ( | void | ) |
Neo::OLight::OLight | ( | const OLight & | light | ) |
|
inline |
Change if the light should cast shadows.
shadow | The new value. |
|
inline |
Returns the light color.
|
inline |
Returns the light color how it appears with the chosen intensity.
|
inline |
Returns the light intensity.
|
inline |
Returns the light type.
|
inline |
Returns the light radius.
|
inline |
|
inline |
|
inline |
|
inline |
Returns the spot angle.
|
inline |
Returns the spot exponent.
|
inlinevirtual |
|
inline |
Checks if the OLight is casting shadows.
|
inline |
Changes the light color.
color | The new light color. |
|
inline |
Changes the light intensity.
intensity | The intensity. |
|
inline |
Changes the light type the OLight has.
lightType | The new light type. |
|
inline |
Changes the light radius in which the OLight object takes effect.
radius | The radius. |
|
inline |
Changes the shadow bias.
The shadow bias controls the offset that the shadow uses to prevent self shadowing of an object.
shadowBias | The new shadow bias value. |
|
inline |
Changes the shadow blur factor..
shadowBlur | The new shadow blur value. |
|
inline |
Changes the shadow quality.
Powers of two like 1024 or 4096 are to be preferred.
shadowQuality | The new shadow quality. |
|
inline |
Changes the spot angle.
Values are clamped between 0.0f and 180.0f.
angle | The angle in degrees. |
|
inline |
Changes the exponent value.
exponent | The new exponent value. |
|
virtual |
Recalculates visibility for the given camera.
Used for culling.
camera | The camera to check visibility for. |
Reimplemented from Neo::Object3d.