69 void addBlock(Ogre::Vector3 pos, Ogre::Quaternion rot,
RoadType type,
float width,
float bwidth,
float bheight,
int pillartype = 1);
74 void addQuad(Ogre::Vector3 p1, Ogre::Vector3 p2, Ogre::Vector3 p3, Ogre::Vector3 p4,
TextureFit texfit, Ogre::Vector3 pos, Ogre::Vector3
lastpos,
float width,
bool flip =
false);
76 void addCollisionQuad(Ogre::Vector3 p1, Ogre::Vector3 p2, Ogre::Vector3 p3, Ogre::Vector3 p4, std::string
const& gm_name,
bool flip =
false);
77 void finish(Ogre::SceneNode*
snode,
const std::string& materialName =
"");
85 inline Ogre::Vector3
baseOf(Ogre::Vector3 p);
86 void computePoints(Ogre::Vector3* pts, Ogre::Vector3 pos, Ogre::Quaternion rot,
RoadType type,
float width,
float bwidth,
float bheight);
87 void textureFit(Ogre::Vector3 p1, Ogre::Vector3 p2, Ogre::Vector3 p3, Ogre::Vector3 p4,
TextureFit texfit, Ogre::Vector2* texc, Ogre::Vector3 pos, Ogre::Vector3
lastpos,
float width);
88 void createMesh(
const std::string& materialName =
"");
Central state/object manager and communications hub.
Self reference-counting objects, as requred by AngelScript garbage collector.
static const unsigned int MAX_TRIS
static const unsigned int MAX_VERTEX
void textureFit(Ogre::Vector3 p1, Ogre::Vector3 p2, Ogre::Vector3 p3, Ogre::Vector3 p4, TextureFit texfit, Ogre::Vector2 *texc, Ogre::Vector3 pos, Ogre::Vector3 lastpos, float width)
uint16_t tris[MAX_TRIS *3]
void setCollisionEnabled(bool v)
Must be set before any quads are added. Default: true.
void finish(Ogre::SceneNode *snode, const std::string &materialName="")
If materialName is empty, the default material will be used.
Ogre::Vector2 tex[MAX_VERTEX]
virtual ~ProceduralRoad() override
void addCollisionQuad(Ogre::Vector3 p1, Ogre::Vector3 p2, Ogre::Vector3 p3, Ogre::Vector3 p4, ground_model_t *gm, bool flip=false)
std::vector< int > registeredCollTris
void addBlock(Ogre::Vector3 pos, Ogre::Quaternion rot, RoadType type, float width, float bwidth, float bheight, int pillartype=1)
void addQuad(Ogre::Vector3 p1, Ogre::Vector3 p2, Ogre::Vector3 p3, Ogre::Vector3 p4, TextureFit texfit, Ogre::Vector3 pos, Ogre::Vector3 lastpos, float width, bool flip=false)
bool collision
Register collision triangles?
Ogre::Vector3 vertex[MAX_VERTEX]
Ogre::Vector3 baseOf(Ogre::Vector3 p)
void createMesh(const std::string &materialName="")
If materialName is empty, the default material will be used.
ground_model_t * m_customGroundmodel
void computePoints(Ogre::Vector3 *pts, Ogre::Vector3 pos, Ogre::Quaternion rot, RoadType type, float width, float bwidth, float bheight)
static constexpr const char * PROROAD_DEFAULT_MATERIAL
Surface friction properties.