|
RigsofRods
Soft-body Physics Simulation
|
Go to the documentation of this file.
24 #ifndef _SkyX_VClouds_Ellipsoid_H_
25 #define _SkyX_VClouds_Ellipsoid_H_
27 #include "Prerequisites.h"
31 namespace SkyX {
namespace VClouds{
53 Ellipsoid(
const int& a,
const int& b,
const int& c,
54 const int& nx,
const int& ny,
const int& nz,
55 const int&
x,
const int&
y,
const int&
z,
56 const Ogre::Real& DynLibManager = 1.0f);
67 void move(
const int& Ax,
const int& Ay,
const int& Az);
95 return Ogre::Vector3(
mA,
mB,
mC);
103 return Ogre::Vector3(
mX,
mY,
mZ);
128 const float _getLength(
const int&
x,
const int&
y,
const int&
z)
const;
const Ogre::Vector3 getProbabilities(const int &x, const int &y, const int &z) const
Get probabilities at a point.
Ogre::Real mDensity
Cloud density.
void setPosition(const Ogre::Vector3 &Position)
Set position.
int mA
Ellipsoid parameters.
const bool isOutOfCells() const
Determines if the ellipsoid is out of the cells domain and needs to be removed.
const Ogre::Vector3 getDimensions() const
Get dimensions.
void setDimensions(const Ogre::Vector3 &Dimensions)
Set dimensions.
void updateProbabilities(DataManager::Cell ***c, const int &nx, const int &ny, const int &nz, const bool &delayedResponse=true)
Update probabilities.
const Ogre::Vector3 getPosition() const
Get position.
void move(const int &Ax, const int &Ay, const int &Az)
Move the ellipsoid.
Ellipsoid class x^2 y^2 z^2 / + / + / = 1 a^2 b^2 c^2.
Ellipsoid(const int &a, const int &b, const int &c, const int &nx, const int &ny, const int &nz, const int &x, const int &y, const int &z, const Ogre::Real &DynLibManager=1.0f)
Constructor.
const float _getLength(const int &x, const int &y, const int &z) const
Get length.