Point Class Reference

A Zone defining a point in the universe. More...

Inheritance diagram for Point:
Zone Registerable Transformable

List of all members.

Public Member Functions

 Point (const Vector3D &position=Vector3D(0.0f, 0.0f, 0.0f))
 Constructor of Point.
virtual void generatePosition (Particle &particle, bool full) const
 Randomly generates a position inside this Zone for a given Particle.
virtual bool contains (const Vector3D &v) const
 Checks whether a point is within the Zone.
virtual bool intersects (const Vector3D &v0, const Vector3D &v1, Vector3D *intersection, Vector3D *normal) const
 Checks whether a line intersects the Zone.
virtual void moveAtBorder (Vector3D &v, bool inside) const
 Moves a point at the border of the Zone.
virtual Vector3D computeNormal (const Vector3D &point) const
 Computes the normal for the point.

Static Public Member Functions

static Pointcreate (const Vector3D &position=Vector3D(0.0f, 0.0f, 0.0f))
 Creates and registers a new Point.

Detailed Description

A Zone defining a point in the universe.

Definition at line 36 of file SPK_Point.h.


Constructor & Destructor Documentation

Point ( const Vector3D position = Vector3D(0.0f, 0.0f, 0.0f)  ) 

Constructor of Point.

Parameters:
position : the position of the Point

Member Function Documentation

virtual Vector3D computeNormal ( const Vector3D point  )  const [virtual]

Computes the normal for the point.

Parameters:
point : the point from where the normal is computed
Returns:
the normal vector
Since:
1.02.00

Implements Zone.

bool contains ( const Vector3D point  )  const [virtual]

Checks whether a point is within the Zone.

Parameters:
point : the point to check
Returns:
true if the point is within the Zone, false otherwise

Implements Zone.

Definition at line 80 of file SPK_Point.h.

Point * create ( const Vector3D position = Vector3D(0.0f,0.0f,0.0f)  )  [static]

Creates and registers a new Point.

Parameters:
position : the position of the Point
Returns:
A new registered Point
Since:
1.04.00

Definition at line 68 of file SPK_Point.h.

void generatePosition ( Particle particle,
bool  full 
) const [virtual]

Randomly generates a position inside this Zone for a given Particle.

Parameters:
particle : the Particle whose position will be generated
full : true to generate a position in the whole volume of this Zone, false to generate a position only at borders

Implements Zone.

Definition at line 75 of file SPK_Point.h.

bool intersects ( const Vector3D v0,
const Vector3D v1,
Vector3D intersection,
Vector3D normal 
) const [virtual]

Checks whether a line intersects the Zone.

The intersection is computed only if the Vector3D* intersection is not NULL.
The normal is computed if the Vector3D* normal AND intersection are not NULL.

Parameters:
v0 : start of the line
v1 : end of the line
intersection : the Vector3D where the intersection will be stored, NULL not to compute the intersection
normal : the Vector3D where the normal will be stored, NULL not to compute the normal
Returns:
true if the line intersects with the Zone, false otherwise

Implements Zone.

Definition at line 85 of file SPK_Point.h.

void moveAtBorder ( Vector3D point,
bool  inside 
) const [virtual]

Moves a point at the border of the Zone.

Parameters:
point : the point that will be moved to the border of the Zone
inside : true to move the point inside the Zone of APPROXIMATION_VALUE, false to move it outside of APPROXIMATION_VALUE

Implements Zone.

Definition at line 90 of file SPK_Point.h.


Generated on Wed Apr 27 21:09:26 2011 for SPARK Particle Engine by  doxygen 1.6.1