#include <PhysicsParticleObject.h>

Definition at line 66 of file PhysicsParticleObject.h.
enum PhysicsParticleObject::CollisionAction [protected] |
Definition at line 107 of file PhysicsParticleObject.h.
| PhysicsParticleObject::PhysicsParticleObject | ( | ) |
Definition at line 42 of file PhysicsParticleObject.cpp.
| PhysicsParticleObject::~PhysicsParticleObject | ( | ) | [virtual] |
Definition at line 48 of file PhysicsParticleObject.cpp.
| void PhysicsParticleObject::setPhysics | ( | PhysicsParticleInfo | info, | |
| ScorchedContext & | context, | |||
| FixedVector & | position, | |||
| FixedVector & | velocity, | |||
| fixed | sphereSize = 0, |
|||
| fixed | sphereDensity = 0, |
|||
| fixed | windFactor = 1, |
|||
| bool | underGroundCollision = false, |
|||
| bool | rotateOnCollision = false, |
|||
| bool | wallCollision = true | |||
| ) |
Definition at line 57 of file PhysicsParticleObject.cpp.
References context_, ScorchedContext::getOptionsGame(), ScorchedContext::getOptionsTransient(), OptionsTransient::getWindDirection(), OptionsTransient::getWindSpeed(), info_, position_, rotateOnCollision_, rotation_, FixedVector4::setQuatFromAxisAndAngle(), underGroundCollision_, velocity_, wallCollision_, and windFactor_.
Referenced by TankAIAimGuesser::getCurrentGuess(), and PhysicsParticle::setPhysics().
| void PhysicsParticleObject::applyForce | ( | FixedVector & | force | ) |
Definition at line 52 of file PhysicsParticleObject.cpp.
References velocity_.
Referenced by PhysicsParticle::applyForce().
| void PhysicsParticleObject::simulate | ( | fixed | frameTime | ) |
Definition at line 84 of file PhysicsParticleObject.cpp.
References avelocity_, checkCollision(), context_, handler_, iterations_, FixedVector4::Normalize(), position_, rotateOnCollision_, rotation_, velocity_, and windFactor_.
Referenced by TankAIAimGuesser::getCurrentGuess(), and PhysicsParticle::simulate().
| FixedVector& PhysicsParticleObject::getPosition | ( | ) | [inline] |
Definition at line 86 of file PhysicsParticleObject.h.
References position_.
Referenced by TankFalling::collision(), ShotProjectile::collision(), PhysicsParticle::getCurrentPosition(), and TankAIAimGuesser::guess().
| FixedVector& PhysicsParticleObject::getVelocity | ( | ) | [inline] |
Definition at line 87 of file PhysicsParticleObject.h.
References velocity_.
Referenced by PhysicsParticle::getCurrentVelocity().
| FixedVector4& PhysicsParticleObject::getRotationQuat | ( | ) | [inline] |
Definition at line 88 of file PhysicsParticleObject.h.
References rotation_.
Referenced by PhysicsParticle::getRotationQuat().
| void PhysicsParticleObject::setHandler | ( | PhysicsParticleObjectHandler * | handler | ) | [inline] |
Definition at line 90 of file PhysicsParticleObject.h.
References handler_.
Referenced by TankAIAimGuesser::getCurrentGuess(), and PhysicsParticle::setPhysics().
| void PhysicsParticleObject::setPosition | ( | FixedVector & | position | ) | [inline] |
Definition at line 91 of file PhysicsParticleObject.h.
References position_.
Referenced by PhysicsParticle::setCurrentPosition().
| void PhysicsParticleObject::shotWallHit | ( | CollisionInfo & | collision | ) | [protected, virtual] |
| void PhysicsParticleObject::shotShieldHit | ( | Target * | target | ) | [protected, virtual] |
Reimplemented in PhysicsParticleActionObject.
Definition at line 662 of file PhysicsParticleObject.cpp.
Referenced by checkShotCollision().
| void PhysicsParticleObject::bounceShieldHit | ( | Target * | target | ) | [protected, virtual] |
Reimplemented in PhysicsParticleActionObject.
Definition at line 666 of file PhysicsParticleObject.cpp.
Referenced by checkBounceCollision().
| void PhysicsParticleObject::checkCollision | ( | ) | [protected] |
Definition at line 101 of file PhysicsParticleObject.cpp.
References ActionController::addSyncCheck(), avelocity_, checkBounceCollision(), checkFallingCollision(), checkShotCollision(), PhysicsParticleObjectHandler::collision(), CollisionActionBounce, CollisionActionCollision, CollisionActionNone, PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdNone, context_, PhysicsParticleObject::CollisionInfo::deflectFactor, FixedVector::dotP(), S3D::formatStringBuffer(), ScorchedContext::getActionController(), TargetSpace::getCollision(), LandscapeMaps::getGroundMaps(), getLandscapeCollision(), ScorchedContext::getLandscapeMaps(), ScorchedContext::getOptionsGame(), getRoofCollision(), getShieldCollision(), getTargetBounceCollision(), getTargetCollision(), ScorchedContext::getTargetSpace(), getWallCollision(), handler_, info_, FixedVector::Magnitude(), MIN, PhysicsParticleObject::CollisionInfo::normal, ParticleTypeBounce, ParticleTypeFalling, ParticleTypeShot, position_, rotateOnCollision_, FixedVector4::setQuatFromAxisAndAngle(), FixedVector::StoreNormalize(), PhysicsParticleInfo::type_, underGroundCollision_, and velocity_.
Referenced by simulate().
| PhysicsParticleObject::CollisionAction PhysicsParticleObject::checkShotCollision | ( | CollisionInfo & | collision, | |
| Target * | target | |||
| ) | [protected] |
Definition at line 204 of file PhysicsParticleObject.cpp.
References CollisionActionBounce, CollisionActionCollision, CollisionActionNone, PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdLandscape, CollisionIdRoof, CollisionIdShield, CollisionIdTarget, CollisionIdWallBottom, CollisionIdWallLeft, CollisionIdWallRight, CollisionIdWallTop, context_, Accessory::getAction(), GroundMaps::getArenaHeight(), GroundMaps::getArenaWidth(), GroundMaps::getArenaX(), GroundMaps::getArenaY(), TargetShield::getCurrentShield(), ShieldRoundMag::getDeflectPower(), LandscapeMaps::getGroundMaps(), ScorchedContext::getLandscapeMaps(), ScorchedContext::getOptionsTransient(), Target::getShield(), Shield::getShieldType(), OptionsTransient::getWallType(), handler_, position_, Shield::ShieldTypeRoundMag, Shield::ShieldTypeRoundNormal, Shield::ShieldTypeRoundReflective, Shield::ShieldTypeSquareNormal, Shield::ShieldTypeSquareReflective, shotShieldHit(), shotWallHit(), velocity_, OptionsTransient::wallBouncy, PhysicsParticleObjectHandler::wallCollision(), OptionsTransient::wallConcrete, and OptionsTransient::wallWrapAround.
Referenced by checkCollision().
| PhysicsParticleObject::CollisionAction PhysicsParticleObject::checkBounceCollision | ( | CollisionInfo & | collision, | |
| Target * | target | |||
| ) | [protected] |
Definition at line 301 of file PhysicsParticleObject.cpp.
References bounceShieldHit(), CollisionActionBounce, CollisionActionCollision, CollisionActionNone, PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdLandscape, CollisionIdRoof, CollisionIdShield, CollisionIdTarget, CollisionIdWallBottom, CollisionIdWallLeft, CollisionIdWallRight, CollisionIdWallTop, context_, GroundMaps::getArenaHeight(), GroundMaps::getArenaWidth(), GroundMaps::getArenaX(), GroundMaps::getArenaY(), LandscapeMaps::getGroundMaps(), ScorchedContext::getLandscapeMaps(), ScorchedContext::getOptionsTransient(), OptionsTransient::getWallType(), position_, OptionsTransient::wallBouncy, OptionsTransient::wallConcrete, and OptionsTransient::wallWrapAround.
Referenced by checkCollision().
| PhysicsParticleObject::CollisionAction PhysicsParticleObject::checkFallingCollision | ( | CollisionInfo & | collision, | |
| Target * | target | |||
| ) | [protected] |
Definition at line 362 of file PhysicsParticleObject.cpp.
References CollisionActionBounce, CollisionActionCollision, CollisionActionNone, PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdLandscape, CollisionIdRoof, CollisionIdShield, CollisionIdTarget, CollisionIdWallBottom, CollisionIdWallLeft, CollisionIdWallRight, CollisionIdWallTop, context_, GroundMaps::getArenaHeight(), GroundMaps::getArenaWidth(), GroundMaps::getArenaX(), GroundMaps::getArenaY(), LandscapeMaps::getGroundMaps(), ScorchedContext::getLandscapeMaps(), and position_.
Referenced by checkCollision().
| bool PhysicsParticleObject::getLandscapeCollision | ( | CollisionInfo & | collision | ) | [protected] |
Definition at line 406 of file PhysicsParticleObject.cpp.
References PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdLandscape, context_, PhysicsParticleObject::CollisionInfo::deflectFactor, LandscapeMaps::getGroundMaps(), ScorchedContext::getLandscapeMaps(), PhysicsParticleObject::CollisionInfo::normal, position_, and underGroundCollision_.
Referenced by checkCollision().
| bool PhysicsParticleObject::getRoofCollision | ( | CollisionInfo & | collision | ) | [protected] |
Definition at line 453 of file PhysicsParticleObject.cpp.
References PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdRoof, context_, PhysicsParticleObject::CollisionInfo::deflectFactor, RoofMaps::getInterpRoofHeight(), ScorchedContext::getLandscapeMaps(), LandscapeMaps::getRoofMaps(), PhysicsParticleObject::CollisionInfo::normal, and position_.
Referenced by checkCollision().
| bool PhysicsParticleObject::getWallCollision | ( | CollisionInfo & | collision | ) | [protected] |
Definition at line 468 of file PhysicsParticleObject.cpp.
References PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdWallBottom, CollisionIdWallLeft, CollisionIdWallRight, CollisionIdWallTop, context_, PhysicsParticleObject::CollisionInfo::deflectFactor, GroundMaps::getArenaHeight(), GroundMaps::getArenaWidth(), GroundMaps::getArenaX(), GroundMaps::getArenaY(), LandscapeMaps::getGroundMaps(), ScorchedContext::getLandscapeMaps(), ScorchedContext::getOptionsTransient(), OptionsTransient::getWallType(), PhysicsParticleObject::CollisionInfo::normal, position_, wallCollision_, and OptionsTransient::wallNone.
Referenced by checkCollision().
| bool PhysicsParticleObject::getShieldCollision | ( | CollisionInfo & | collision, | |
| Target * | target | |||
| ) | [protected] |
Definition at line 514 of file PhysicsParticleObject.cpp.
References PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdShield, context_, PhysicsParticleObject::CollisionInfo::deflectFactor, Accessory::getAction(), TargetShield::getCurrentShield(), ShieldSquareReflective::getDeflectFactor(), ShieldRoundReflective::getDeflectFactor(), Target::getLife(), Target::getPlayerId(), Tank::getPosition(), Target::getShield(), Shield::getShieldType(), ShieldSquare::getSize(), TankContainer::getTankById(), ScorchedContext::getTankContainer(), TankPosition::getTankPosition(), TargetLife::getTargetPosition(), info_, Shield::inShield(), PhysicsParticleObject::CollisionInfo::normal, PhysicsParticleInfo::playerId_, position_, Shield::ShieldTypeRoundMag, Shield::ShieldTypeRoundNormal, Shield::ShieldTypeRoundReflective, Shield::ShieldTypeSquareNormal, Shield::ShieldTypeSquareReflective, and Shield::tankInShield().
Referenced by checkCollision().
| bool PhysicsParticleObject::getTargetCollision | ( | CollisionInfo & | collision, | |
| Target * | target | |||
| ) | [protected] |
Definition at line 616 of file PhysicsParticleObject.cpp.
References TargetLife::collision(), PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdTarget, PhysicsParticleObject::CollisionInfo::deflectFactor, TargetLife::getCenterPosition(), Target::getLife(), Target::getPlayerId(), info_, PhysicsParticleObject::CollisionInfo::normal, PhysicsParticleInfo::playerId_, and position_.
Referenced by checkCollision().
| bool PhysicsParticleObject::getTargetBounceCollision | ( | CollisionInfo & | collision, | |
| Target * | target | |||
| ) | [protected] |
Definition at line 635 of file PhysicsParticleObject.cpp.
References TargetLife::collision(), TargetLife::collisionDistance(), PhysicsParticleObject::CollisionInfo::collisionId, CollisionIdTarget, context_, PhysicsParticleObject::CollisionInfo::deflectFactor, TargetLife::getCenterPosition(), TargetSpace::getCollisionSet(), Target::getLife(), ScorchedContext::getTargetSpace(), info_, PhysicsParticleObject::CollisionInfo::normal, ParticleTypeBounce, position_, and PhysicsParticleInfo::type_.
Referenced by checkCollision().
PhysicsParticleInfo PhysicsParticleObject::info_ [protected] |
Definition at line 94 of file PhysicsParticleObject.h.
Referenced by PhysicsParticleActionObject::bounceShieldHit(), checkCollision(), getShieldCollision(), getTargetBounceCollision(), getTargetCollision(), setPhysics(), and PhysicsParticleActionObject::shotShieldHit().
ScorchedContext* PhysicsParticleObject::context_ [protected] |
Definition at line 95 of file PhysicsParticleObject.h.
Referenced by PhysicsParticleActionObject::bounceShieldHit(), checkBounceCollision(), checkCollision(), checkFallingCollision(), checkShotCollision(), getLandscapeCollision(), getRoofCollision(), getShieldCollision(), getTargetBounceCollision(), getWallCollision(), setPhysics(), PhysicsParticleActionObject::shotShieldHit(), and simulate().
Definition at line 96 of file PhysicsParticleObject.h.
Referenced by checkCollision(), checkShotCollision(), setHandler(), and simulate().
bool PhysicsParticleObject::underGroundCollision_ [protected] |
Definition at line 97 of file PhysicsParticleObject.h.
Referenced by checkCollision(), getLandscapeCollision(), and setPhysics().
bool PhysicsParticleObject::rotateOnCollision_ [protected] |
Definition at line 98 of file PhysicsParticleObject.h.
Referenced by checkCollision(), setPhysics(), and simulate().
bool PhysicsParticleObject::wallCollision_ [protected] |
Definition at line 99 of file PhysicsParticleObject.h.
Referenced by getWallCollision(), and setPhysics().
unsigned int PhysicsParticleObject::iterations_ [protected] |
FixedVector PhysicsParticleObject::position_ [protected] |
Definition at line 101 of file PhysicsParticleObject.h.
Referenced by PhysicsParticleActionObject::bounceShieldHit(), checkBounceCollision(), checkCollision(), checkFallingCollision(), checkShotCollision(), getLandscapeCollision(), getPosition(), getRoofCollision(), getShieldCollision(), getTargetBounceCollision(), getTargetCollision(), getWallCollision(), setPhysics(), setPosition(), PhysicsParticleActionObject::shotShieldHit(), PhysicsParticleActionObject::shotWallHit(), and simulate().
FixedVector PhysicsParticleObject::velocity_ [protected] |
Definition at line 102 of file PhysicsParticleObject.h.
Referenced by applyForce(), checkCollision(), checkShotCollision(), getVelocity(), setPhysics(), and simulate().
FixedVector PhysicsParticleObject::windFactor_ [protected] |
FixedVector4 PhysicsParticleObject::rotation_ [protected] |
Definition at line 104 of file PhysicsParticleObject.h.
Referenced by getRotationQuat(), setPhysics(), and simulate().
FixedVector4 PhysicsParticleObject::avelocity_ [protected] |
Definition at line 105 of file PhysicsParticleObject.h.
Referenced by checkCollision(), and simulate().
1.5.3