A Zone defining a sphere in the universe. More...
Public Member Functions | |
| Sphere (const Vector3D &position=Vector3D(0.0f, 0.0f, 0.0f), float radius=0.0f) | |
| Constructor of Sphere. | |
| void | setRadius (float radius) |
| Sets the radius of this Sphere. | |
| float | getRadius () const |
| Gets the radius of this Sphere. | |
| 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 Sphere * | create (const Vector3D &position=Vector3D(0.0f, 0.0f, 0.0f), float radius=0.0f) |
| Creates and registers a new Sphere. | |
A Zone defining a sphere in the universe.
Definition at line 34 of file SPK_Sphere.h.
Computes the normal for the point.
| point | : the point from where the normal is computed |
Implements Zone.
| virtual bool contains | ( | const Vector3D & | point | ) | const [virtual] |
| virtual void generatePosition | ( | Particle & | particle, | |
| bool | full | |||
| ) | const [virtual] |
| float getRadius | ( | ) | const |
Gets the radius of this Sphere.
Definition at line 111 of file SPK_Sphere.h.
| virtual 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.
| 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 |
Implements Zone.
| virtual void moveAtBorder | ( | Vector3D & | point, | |
| bool | inside | |||
| ) | const [virtual] |
1.6.1