|
SuperTuxKart
|
This class implements a check sphere that is used to change the ambient light if a kart is inside this sphere. More...
#include <check_sphere.hpp>

Public Member Functions | |
| CheckSphere (const XMLNode &node, unsigned int index) | |
| Constructor for a checksphere. | |
| virtual bool | isTriggered (const Vec3 &old_pos, const Vec3 &new_pos, int kart_id) |
| True if going from old_pos to new_pos enters or leaves this sphere. | |
| bool | isInside (int index) const |
| Returns if kart indx is currently inside of the sphere. | |
| float | getDistance2ForKart (int index) const |
| Returns the squared distance of kart index from the enter of this sphere. | |
| float | getRadius2 () const |
| Returns the square of the radius of this sphere. | |
| virtual CheckStructure * | clone () |
| Clone to child process for server usage (atm no sound or scripting). | |
Public Member Functions inherited from CheckStructure | |
| CheckStructure (const XMLNode &node, unsigned int index) | |
| virtual void | update (float dt) |
| Updates all check structures. | |
| virtual void | resetAfterKartMove (unsigned int kart_index) |
| virtual void | resetAfterRewind (unsigned int kart_index) |
| virtual void | changeDebugColor (bool is_active) |
| virtual bool | isTriggered (const Vec3 &old_pos, const Vec3 &new_pos, int indx)=0 |
| True if going from old_pos to new_pos crosses this checkline. | |
| virtual void | trigger (unsigned int kart_index) |
| Is called when this check structure is triggered. | |
| virtual void | reset (const Track &track) |
| Initialises the 'previous positions' of all karts with the start position defined for this track. | |
| CheckType | getType () const |
| Returns the type of this check structure. | |
| void | addSuccessor (unsigned int i) |
| Adds the index of a successor check structure which will get triggered by this check structure. | |
| virtual bool | triggeringCheckline () const |
| virtual void | saveCompleteState (BareNetworkString *bns) |
| virtual void | restoreCompleteState (const BareNetworkString &b) |
| void | saveIsActive (int kart_id, BareNetworkString *bns) |
| void | restoreIsActive (int kart_id, const BareNetworkString &b) |
| int | getIndex () const |
| virtual CheckStructure * | clone ()=0 |
| Clone to child process for server usage (atm no sound or scripting). | |
Private Attributes | |
| Vec3 | m_center_point |
| Center of the sphere. | |
| float | m_radius2 |
| Squared radius of the sphere. | |
| std::vector< bool > | m_is_inside |
| A flag for each kart to indicate if it's inside of the sphere. | |
| std::vector< float > | m_distance2 |
| Stores the distance of each kart from the center of this sphere. | |
Additional Inherited Members | |
Public Types inherited from CheckStructure | |
| enum | CheckType { CT_NEW_LAP , CT_ACTIVATE , CT_TOGGLE , CT_CANNON , CT_GOAL , CT_AMBIENT_SPHERE , CT_TRIGGER } |
| Different types of check structures: ACTIVATE: Activates another check structure (independent of the state that check structure is in) TOGGLE: Switches (inverts) the state of another check structure. More... | |
Protected Member Functions inherited from CheckStructure | |
| CheckStructure () | |
| For CheckTrigger or CheckCylinder. | |
Protected Attributes inherited from CheckStructure | |
| AlignedArray< Vec3 > | m_previous_position |
| Stores the previous position of all karts. | |
| std::vector< bool > | m_is_active |
| Stores if this check structure is active (for a given kart). | |
| bool | m_active_at_reset |
| True if this check structure should be activated at a reset. | |
| unsigned int | m_index |
| Stores the index of this check structure. | |
This class implements a check sphere that is used to change the ambient light if a kart is inside this sphere.
Besides a normal radius this sphere also has a 2nd 'inner' radius: player karts inside the inner radius will have the full new ambient light, karts outside the default light, and karts in between will mix the light dependent on distance.
| CheckSphere::CheckSphere | ( | const XMLNode & | node, |
| unsigned int | index | ||
| ) |
Constructor for a checksphere.
| check_manager | Pointer to the check manager, which is needed when resetting e.g. new lap counters. |
| node | XML node containing the parameters for this checkline. |
|
inlinevirtual |
Clone to child process for server usage (atm no sound or scripting).
Implements CheckStructure.
True if going from old_pos to new_pos enters or leaves this sphere.
This function is called from update (of the checkline structure). It also updates the flag about which karts are inside
| old_pos | Position in previous frame. |
| new_pos | Position in current frame. |
| kart_id | Index of the kart, can be used to store kart specific additional data. |
Implements CheckStructure.
|
private |
Stores the distance of each kart from the center of this sphere.
This saves some computations.