TrinityCore
Loading...
Searching...
No Matches
MMAP::TerrainBuilder Class Reference

#include <TerrainBuilder.h>

Public Member Functions

 TerrainBuilder (boost::filesystem::path const &inputDirectory, bool skipLiquid)
 
void loadMap (uint32 mapID, uint32 tileX, uint32 tileY, MeshData &meshData, VMAP::VMapManager *vmapManager)
 
bool loadVMap (uint32 mapID, uint32 tileX, uint32 tileY, MeshData &meshData, VMAP::VMapManager *vmapManager)
 
void loadVMapModel (VMAP::WorldModel const *worldModel, G3D::Vector3 const &position, G3D::Matrix3 const &rotation, float scale, MeshData &meshData, VMAP::VMapManager *vmapManager)
 
void loadOffMeshConnections (uint32 mapID, uint32 tileX, uint32 tileY, MeshData &meshData, std::vector< OffMeshData > const &offMeshConnections)
 
bool usesLiquids () const
 

Static Public Member Functions

static void transformVertices (std::vector< G3D::Vector3 > const &source, std::vector< float > &dest, float scale, G3D::Matrix3 const &rotation, G3D::Vector3 const &position)
 
static void copyIndices (std::vector< VMAP::MeshTriangle > const &source, std::vector< int > &dest, int offset, bool flip)
 
static void copyIndices (std::vector< int > const &source, std::vector< int > &dest, int offset)
 
static void cleanVertices (std::vector< float > &verts, std::vector< int > &tris)
 

Private Member Functions

bool loadMap (uint32 mapID, uint32 tileX, uint32 tileY, MeshData &meshData, VMAP::VMapManager *vmapManager, Spot portion)
 Loads a portion of a map's terrain.
 

Static Private Member Functions

static void getLoopVars (Spot portion, int &loopStart, int &loopEnd, int &loopInc)
 Sets loop variables for selecting only certain parts of a map's terrain.
 
static void getHeightCoord (int index, Grid grid, float xOffset, float yOffset, float *coord, float *v)
 Get the vector coordinate for a specific position.
 
static void getHeightTriangle (int square, Spot triangle, int *indices, int offset, bool liquid=false)
 Get the triangle's vector indices for a specific position.
 
static bool isHole (int square, uint8 const (&holes)[16][16][8])
 Determines if the specific position's triangles should be rendered.
 
static void getLiquidCoord (int index, int index2, float xOffset, float yOffset, float *coord, float *v)
 Get the liquid vector coordinate for a specific position.
 
static map_liquidHeaderTypeFlags getLiquidType (int square, map_liquidHeaderTypeFlags const (&liquid_type)[16][16])
 Get the liquid type for a specific position.
 

Private Attributes

boost::filesystem::path m_inputDirectory
 
bool m_skipLiquid
 Controls whether liquids are loaded.
 

Detailed Description

Definition at line 82 of file TerrainBuilder.h.

Constructor & Destructor Documentation

◆ TerrainBuilder()

MMAP::TerrainBuilder::TerrainBuilder ( boost::filesystem::path const &  inputDirectory,
bool  skipLiquid 
)
explicit

Definition at line 34 of file TerrainBuilder.cpp.

Member Function Documentation

◆ cleanVertices()

void MMAP::TerrainBuilder::cleanVertices ( std::vector< float > &  verts,
std::vector< int > &  tris 
)
static

◆ copyIndices() [1/2]

void MMAP::TerrainBuilder::copyIndices ( std::vector< int > const &  source,
std::vector< int > &  dest,
int  offset 
)
static

Definition at line 744 of file TerrainBuilder.cpp.

◆ copyIndices() [2/2]

void MMAP::TerrainBuilder::copyIndices ( std::vector< VMAP::MeshTriangle > const &  source,
std::vector< int > &  dest,
int  offset,
bool  flip 
)
static

Definition at line 721 of file TerrainBuilder.cpp.

Referenced by MMAP::IntermediateValues::generateObjFile(), and loadVMapModel().

◆ getHeightCoord()

void MMAP::TerrainBuilder::getHeightCoord ( int  index,
Grid  grid,
float  xOffset,
float  yOffset,
float *  coord,
float *  v 
)
inlinestaticprivate

Get the vector coordinate for a specific position.

Definition at line 469 of file TerrainBuilder.cpp.

References MMAP::GRID_PART_SIZE, MMAP::GRID_V8, MMAP::GRID_V9, MMAP::V8_SIZE, and MMAP::V9_SIZE.

Referenced by loadMap().

◆ getHeightTriangle()

void MMAP::TerrainBuilder::getHeightTriangle ( int  square,
Spot  triangle,
int *  indices,
int  offset,
bool  liquid = false 
)
inlinestaticprivate

Get the triangle's vector indices for a specific position.

Definition at line 489 of file TerrainBuilder.cpp.

References MMAP::BOTTOM, MMAP::LEFT, MMAP::RIGHT, MMAP::TOP, MMAP::V8_SIZE, MMAP::V9_SIZE, and MMAP::V9_SIZE_SQ.

Referenced by loadMap().

◆ getLiquidCoord()

void MMAP::TerrainBuilder::getLiquidCoord ( int  index,
int  index2,
float  xOffset,
float  yOffset,
float *  coord,
float *  v 
)
inlinestaticprivate

Get the liquid vector coordinate for a specific position.

Definition at line 536 of file TerrainBuilder.cpp.

References MMAP::GRID_PART_SIZE, and MMAP::V9_SIZE.

Referenced by loadMap().

◆ getLiquidType()

map_liquidHeaderTypeFlags MMAP::TerrainBuilder::getLiquidType ( int  square,
map_liquidHeaderTypeFlags const (&)  liquid_type[16][16] 
)
inlinestaticprivate

Get the liquid type for a specific position.

Definition at line 559 of file TerrainBuilder.cpp.

Referenced by loadMap().

◆ getLoopVars()

void MMAP::TerrainBuilder::getLoopVars ( Spot  portion,
int &  loopStart,
int &  loopEnd,
int &  loopInc 
)
staticprivate

Sets loop variables for selecting only certain parts of a map's terrain.

Definition at line 41 of file TerrainBuilder.cpp.

References MMAP::BOTTOM, MMAP::ENTIRE, MMAP::LEFT, MMAP::RIGHT, MMAP::TOP, MMAP::V8_SIZE, and MMAP::V8_SIZE_SQ.

Referenced by loadMap().

◆ isHole()

bool MMAP::TerrainBuilder::isHole ( int  square,
uint8 const (&)  holes[16][16][8] 
)
inlinestaticprivate

Determines if the specific position's triangles should be rendered.

Definition at line 546 of file TerrainBuilder.cpp.

Referenced by loadMap().

◆ loadMap() [1/2]

void MMAP::TerrainBuilder::loadMap ( uint32  mapID,
uint32  tileX,
uint32  tileY,
MeshData &  meshData,
VMAP::VMapManager *  vmapManager 
)

◆ loadMap() [2/2]

bool MMAP::TerrainBuilder::loadMap ( uint32  mapID,
uint32  tileX,
uint32  tileY,
MeshData &  meshData,
VMAP::VMapManager *  vmapManager,
Spot  portion 
)
private

◆ loadOffMeshConnections()

void MMAP::TerrainBuilder::loadOffMeshConnections ( uint32  mapID,
uint32  tileX,
uint32  tileY,
MeshData &  meshData,
std::vector< OffMeshData > const &  offMeshConnections 
)

◆ loadVMap()

◆ loadVMapModel()

◆ transformVertices()

void MMAP::TerrainBuilder::transformVertices ( std::vector< G3D::Vector3 > const &  source,
std::vector< float > &  dest,
float  scale,
G3D::Matrix3 const &  rotation,
G3D::Vector3 const &  position 
)
static

Definition at line 703 of file TerrainBuilder.cpp.

Referenced by loadVMapModel().

◆ usesLiquids()

bool MMAP::TerrainBuilder::usesLiquids ( ) const
inline

Definition at line 93 of file TerrainBuilder.h.

Referenced by MMAP::TileBuilder::saveMoveMapTileToFile().

Member Data Documentation

◆ m_inputDirectory

boost::filesystem::path MMAP::TerrainBuilder::m_inputDirectory
private

Definition at line 108 of file TerrainBuilder.h.

Referenced by loadMap(), and loadVMap().

◆ m_skipLiquid

bool MMAP::TerrainBuilder::m_skipLiquid
private

Controls whether liquids are loaded.

Definition at line 111 of file TerrainBuilder.h.

Referenced by loadMap().


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