Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
|
#include <quadtree.h>
Public Member Functions | |
QuadTree (const char *filename, const Vector &scales, const float Radius) | |
~QuadTree () | |
void | Render () |
void | SetNeighbors (QuadTree *east, QuadTree *north, QuadTree *west, QuadTree *south) |
void | Update (unsigned short numstages, unsigned short whichstage, updateparity *updateorder=identityparity) |
void | SetTransformation (const Matrix &transformation) |
float | GetHeight (Vector Location, Vector &normal, const Matrix &transform, float TotalTerrainSizeX=0, float TotalTerrainSizeZ=0) const |
void | beginElement (const std::string &name, const XMLSupport::AttributeList &attributes) |
void | endElement (const std::string &name) |
float | getminX () const |
float | getminZ () const |
float | getmaxX () const |
float | getmaxZ () const |
float | getSizeX () const |
float | getSizeZ () const |
void | StaticCullData (const float detail) |
bool | GetGroundPos (QVector &Location, Vector &norm, float TTSX=0, float TTSZ=0) const |
bool | GetGroundPos (QVector &Location, Vector &norm, const Matrix &trans, float TotalTerrainSizeX=0, float TotalTerrainSizeZ=0) const |
Vector | GetNormal (const Vector &position, const Vector &requestednorm) const |
Static Public Member Functions | |
static void | beginElement (void *userData, const XML_Char *name, const XML_Char **atts) |
static void | endElement (void *userData, const XML_Char *name) |
Protected Attributes | |
Matrix | transformation |
This class is a wrapper class for quadsquare It takes care of activating textures, having possession of the vlist and having posession of the static vars that get set
Definition at line 15 of file quadtree.h.
Definition at line 15 of file quadtree.cpp.
References quadcornerdata::ChildIndex, Identity(), quadcornerdata::Level, quadcornerdata::Parent, Matrix::r, quadsquare::SetCurrentTerrain(), VertInfo::SetTex(), quadcornerdata::Square, transformation, Vector, VertInfo::vertindex, quadcornerdata::Verts, quadcornerdata::xorg, VertInfo::Y, and quadcornerdata::zorg.
QuadTree::~QuadTree | ( | ) |
Definition at line 101 of file quadtree.cpp.
|
static |
Definition at line 37 of file quadtree_xml.cpp.
void QuadTree::beginElement | ( | const std::string & | name, |
const XMLSupport::AttributeList & | attributes | ||
) |
|
static |
Definition at line 42 of file quadtree_xml.cpp.
void QuadTree::endElement | ( | const std::string & | name) |
|
inline |
Definition at line 80 of file quadtree.h.
References transformation.
Referenced by GameBuilding::UpdatePhysics2().
bool QuadTree::GetGroundPos | ( | QVector & | Location, |
Vector & | norm, | ||
const Matrix & | trans, | ||
float | TotalTerrainSizeX = 0 , |
||
float | TotalTerrainSizeZ = 0 |
||
) | const |
Definition at line 107 of file quadtree.cpp.
References quadsquare::GetHeight(), InvScaleTransform(), IdentityTransform::InvTransform(), QVector, IdentityTransform::Transform(), Transform(), IdentityTransform::TransformNormal(), and TransformNormal().
float QuadTree::GetHeight | ( | Vector | Location, |
Vector & | normal, | ||
const Matrix & | transform, | ||
float | TotalTerrainSizeX = 0 , |
||
float | TotalTerrainSizeZ = 0 |
||
) | const |
}
Definition at line 142 of file quadtree.cpp.
References quadsquare::GetHeight(), InvScaleTransform(), IdentityTransform::InvTransform(), IdentityTransform::TransformNormal(), and TransformNormal().
Referenced by Terrain::Collide().
|
inline |
|
inline |
|
inline |
Definition at line 55 of file quadtree.h.
|
inline |
Definition at line 59 of file quadtree.h.
Definition at line 264 of file quadtree.cpp.
References transformation, IdentityTransform::TransformNormal(), and TransformNormal().
Referenced by Terrain::GetUpVector().
|
inline |
Definition at line 71 of file quadtree.h.
Referenced by ContinuousTerrain::AdjustTerrain(), ContinuousTerrain::Collide(), and ContinuousTerrain::ContinuousTerrain().
|
inline |
Definition at line 75 of file quadtree.h.
Referenced by ContinuousTerrain::ContinuousTerrain().
void QuadTree::Render | ( | ) |
Definition at line 198 of file quadtree.cpp.
References _Universe, Universe::AccessCamera(), Camera::GetPosition(), GFXBlendMode(), GFXBoxInFrustumModel(), GFXDisable(), GFXEnable(), GFXLoadMatrixModel(), InvScaleTransform(), IdentityTransform::InvTransform(), LIGHTING, ONE, quadsquare::Render(), quadsquare::SetCurrentTerrain(), TEXTURE0, TEXTURE1, transformation, and ZERO.
Referenced by Terrain::Render().
void QuadTree::SetNeighbors | ( | QuadTree * | east, |
QuadTree * | north, | ||
QuadTree * | west, | ||
QuadTree * | south | ||
) |
Definition at line 96 of file quadtree.cpp.
Referenced by ContinuousTerrain::ContinuousTerrain().
void QuadTree::SetTransformation | ( | const Matrix & | transformation) |
Definition at line 192 of file quadtree.cpp.
References calculatenormscale(), and transformation.
Referenced by Terrain::SetTransformation().
void QuadTree::StaticCullData | ( | const float | detail) |
Definition at line 83 of file quadtree.cpp.
References quadsquare::StaticCullData().
Referenced by ContinuousTerrain::ContinuousTerrain().
void QuadTree::Update | ( | unsigned short | numstages, |
unsigned short | whichstage, | ||
updateparity * | updateorder = identityparity |
||
) |
Definition at line 169 of file quadtree.cpp.
References _Universe, Universe::AccessCamera(), Camera::GetPosition(), InvScaleTransform(), IdentityTransform::InvTransform(), quadsquare::SetCurrentTerrain(), transformation, quadsquare::Update(), and Vector.
|
protected |
Definition at line 39 of file quadtree.h.
Referenced by Terrain::Collide(), GetGroundPos(), GetNormal(), QuadTree(), Render(), SetTransformation(), and Update().