Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
VMAP::GroupModel Class Reference

#include <WorldModel.h>

Collaboration diagram for VMAP::GroupModel:

Public Member Functions

const G3D::AABox & GetBound () const
bool GetLiquidLevel (const G3D::Vector3 &pos, float &liqHeight) const
uint32 GetLiquidType () const
void getMeshData (std::vector< G3D::Vector3 > &vertices, std::vector< MeshTriangle > &triangles, WmoLiquid *&liquid)
uint32 GetMogpFlags () const
uint32 GetWmoID () const
 GroupModel ()
 GroupModel (const GroupModel &other)
 GroupModel (uint32 mogpFlags, uint32 groupWMOID, const G3D::AABox &bound)
bool IntersectRay (const G3D::Ray &ray, float &distance, bool stopAtFirstHit) const
bool IsInsideObject (const G3D::Vector3 &pos, const G3D::Vector3 &down, float &z_dist) const
bool readFromFile (FILE *rf)
void setLiquidData (WmoLiquid *&liquid)
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 writeToFile (FILE *wf)
 ~GroupModel ()

Protected Attributes

G3D::AABox iBound
uint32 iGroupWMOID
WmoLiquidiLiquid
uint32 iMogpFlags
BIH meshTree
std::vector< MeshTriangletriangles
std::vector< G3D::Vector3 > vertices

Detailed Description

holding additional info for WMO group files

Definition at line 61 of file WorldModel.h.

Constructor & Destructor Documentation

◆ GroupModel() [1/3]

VMAP::GroupModel::GroupModel ( )
inline

Definition at line 64 of file WorldModel.h.

References iBound, iGroupWMOID, iLiquid, and iMogpFlags.

Referenced by GroupModel().

◆ GroupModel() [2/3]

VMAP::GroupModel::GroupModel ( const GroupModel & other)

Definition at line 242 of file WorldModel.cpp.

References GroupModel(), iBound, iGroupWMOID, iLiquid, iMogpFlags, meshTree, triangles, and vertices.

◆ GroupModel() [3/3]

VMAP::GroupModel::GroupModel ( uint32 mogpFlags,
uint32 groupWMOID,
const G3D::AABox & bound )
inline

Definition at line 66 of file WorldModel.h.

References iBound, iGroupWMOID, iLiquid, and iMogpFlags.

◆ ~GroupModel()

VMAP::GroupModel::~GroupModel ( )
inline

Definition at line 68 of file WorldModel.h.

References iLiquid.

Member Function Documentation

◆ GetBound()

const G3D::AABox & VMAP::GroupModel::GetBound ( ) const
inline

◆ GetLiquidLevel()

bool VMAP::GroupModel::GetLiquidLevel ( const G3D::Vector3 & pos,
float & liqHeight ) const

Definition at line 386 of file WorldModel.cpp.

References iLiquid.

Referenced by VMAP::ModelInstance::GetLiquidLevel().

◆ GetLiquidType()

uint32 VMAP::GroupModel::GetLiquidType ( ) const

Definition at line 393 of file WorldModel.cpp.

References iLiquid.

Referenced by VMAP::VMapManager2::GetLiquidLevel().

◆ getMeshData()

void VMAP::GroupModel::getMeshData ( std::vector< G3D::Vector3 > & vertices,
std::vector< MeshTriangle > & triangles,
WmoLiquid *& liquid )

Definition at line 37 of file VMapExtensions.cpp.

References iLiquid, triangles, and vertices.

◆ GetMogpFlags()

uint32 VMAP::GroupModel::GetMogpFlags ( ) const
inline

Definition at line 80 of file WorldModel.h.

References iMogpFlags.

Referenced by VMAP::WModelAreaCallback::operator()().

◆ GetWmoID()

uint32 VMAP::GroupModel::GetWmoID ( ) const
inline

Definition at line 81 of file WorldModel.h.

References iGroupWMOID.

Referenced by VMAP::WModelAreaCallback::operator()().

◆ IntersectRay()

bool VMAP::GroupModel::IntersectRay ( const G3D::Ray & ray,
float & distance,
bool stopAtFirstHit ) const

Definition at line 362 of file WorldModel.cpp.

References VMAP::GModelRayCallback::hit, meshTree, triangles, and vertices.

Referenced by IsInsideObject().

◆ IsInsideObject()

bool VMAP::GroupModel::IsInsideObject ( const G3D::Vector3 & pos,
const G3D::Vector3 & down,
float & z_dist ) const

Definition at line 372 of file WorldModel.cpp.

References iBound, IntersectRay(), triangles, and vertices.

◆ readFromFile()

bool VMAP::GroupModel::readFromFile ( FILE * rf)

◆ setLiquidData()

void VMAP::GroupModel::setLiquidData ( WmoLiquid *& liquid)
inline

Definition at line 72 of file WorldModel.h.

References iLiquid.

◆ setMeshData()

void VMAP::GroupModel::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!

Definition at line 250 of file WorldModel.cpp.

References meshTree, triangles, and vertices.

◆ writeToFile()

bool VMAP::GroupModel::writeToFile ( FILE * wf)

Definition at line 258 of file WorldModel.cpp.

References iBound, iGroupWMOID, iLiquid, iMogpFlags, meshTree, triangles, and vertices.

Member Data Documentation

◆ iBound

G3D::AABox VMAP::GroupModel::iBound
protected

◆ iGroupWMOID

uint32 VMAP::GroupModel::iGroupWMOID
protected

Definition at line 85 of file WorldModel.h.

Referenced by GetWmoID(), GroupModel(), GroupModel(), GroupModel(), readFromFile(), and writeToFile().

◆ iLiquid

WmoLiquid* VMAP::GroupModel::iLiquid
protected

◆ iMogpFlags

uint32 VMAP::GroupModel::iMogpFlags
protected

Definition at line 84 of file WorldModel.h.

Referenced by GetMogpFlags(), GroupModel(), GroupModel(), GroupModel(), readFromFile(), and writeToFile().

◆ meshTree

BIH VMAP::GroupModel::meshTree
protected

Definition at line 88 of file WorldModel.h.

Referenced by GroupModel(), IntersectRay(), readFromFile(), setMeshData(), and writeToFile().

◆ triangles

std::vector<MeshTriangle> VMAP::GroupModel::triangles
protected

◆ vertices

std::vector<G3D::Vector3> VMAP::GroupModel::vertices
protected

The documentation for this class was generated from the following files: