9#include <G3D/HashTrait.h>
10#include <G3D/Vector3.h>
71 void setMeshData(std::vector<G3D::Vector3> &vert, std::vector<MeshTriangle> &tri);
73 bool IntersectRay(
const G3D::Ray &ray,
float &distance,
bool stopAtFirstHit)
const;
74 bool IsInsideObject(
const G3D::Vector3 &pos,
const G3D::Vector3 &down,
float &z_dist)
const;
75 bool GetLiquidLevel(
const G3D::Vector3 &pos,
float &liqHeight)
const;
102 bool IntersectRay(
const G3D::Ray &ray,
float &distance,
bool stopAtFirstHit)
const;
105 bool writeFile(
const std::string &filename);
106 bool readFile(
const std::string &filename);
std::vector< G3D::Vector3 > vertices
uint32 GetLiquidType() const
bool readFromFile(FILE *rf)
uint32 GetMogpFlags() const
void getMeshData(std::vector< G3D::Vector3 > &vertices, std::vector< MeshTriangle > &triangles, WmoLiquid *&liquid)
std::vector< MeshTriangle > triangles
bool GetLiquidLevel(const G3D::Vector3 &pos, float &liqHeight) const
bool IntersectRay(const G3D::Ray &ray, float &distance, bool stopAtFirstHit) const
void setLiquidData(WmoLiquid *&liquid)
GroupModel(uint32 mogpFlags, uint32 groupWMOID, const G3D::AABox &bound)
bool writeToFile(FILE *wf)
const G3D::AABox & GetBound() const
void setMeshData(std::vector< G3D::Vector3 > &vert, std::vector< MeshTriangle > &tri)
pass mesh data to object and create BIH. Passed vectors get get swapped with old geometry!
bool IsInsideObject(const G3D::Vector3 &pos, const G3D::Vector3 &down, float &z_dist) const
MeshTriangle(uint32 na, uint32 nb, uint32 nc)
WmoLiquid(uint32 width, uint32 height, const G3D::Vector3 &corner, uint32 type)
bool GetLiquidHeight(const G3D::Vector3 &pos, float &liqHeight) const
G3D::Vector3 iCorner
the lower corner
void getPosInfo(uint32 &tilesX, uint32 &tilesY, G3D::Vector3 &corner) const
float * iHeight
(tilesX + 1)*(tilesY + 1) height values
uint32 iTilesX
number of tiles in x direction, each
float * GetHeightStorage()
uint8 * iFlags
info if liquid tile is used
WmoLiquid & operator=(const WmoLiquid &other)
static bool readFromFile(FILE *rf, WmoLiquid *&liquid)
uint8 * GetFlagsStorage()
bool writeToFile(FILE *wf)
void getGroupModels(std::vector< GroupModel > &groupModels)
bool GetLocationInfo(const G3D::Vector3 &p, const G3D::Vector3 &down, float &dist, LocationInfo &info) const
void setRootWmoID(uint32 id)
bool IntersectRay(const G3D::Ray &ray, float &distance, bool stopAtFirstHit) const
bool readFile(const std::string &filename)
void setGroupModels(std::vector< GroupModel > &models)
pass group models to WorldModel and create BIH. Passed vector is swapped with old geometry!
bool IntersectPoint(const G3D::Vector3 &p, const G3D::Vector3 &down, float &dist, AreaInfo &info) const
bool writeFile(const std::string &filename)
std::vector< GroupModel > groupModels