|
RigsofRods
Soft-body Physics Simulation
|
Go to the documentation of this file.
33 #include "PagedGeometry.h"
34 #include "TreeLoader2D.h"
35 #include "TreeLoader3D.h"
36 #include "BatchPage.h"
37 #include "GrassLoader.h"
38 #include "ImpostorPage.h"
42 #include <unordered_map>
63 Ogre::SceneNode*
node =
nullptr;
73 bool LoadTerrainObject(
const Ogre::String& name,
const Ogre::Vector3& pos,
const Ogre::Vector3& rot,
const Ogre::String& instancename,
const Ogre::String& type,
float rendering_distance = 0,
bool enable_collisions =
true,
int scripthandler = -1,
bool uniquifyMaterial =
false);
75 void MoveObjectVisuals(
const Ogre::String& instancename,
const Ogre::Vector3& pos);
83 float yawfrom,
float yawto,
84 float scalefrom,
float scaleto,
85 char* ColorMap,
char* DensityMap,
char* treemesh,
char* treeCollmesh,
86 float gridspacing,
float highdens,
87 int minDist,
int maxDist,
int mapsizex,
int mapsizez);
90 float SwaySpeed,
float SwayLength,
float SwayDistribution,
float Density,
91 float minx,
float miny,
float minH,
float maxx,
float maxy,
float maxH,
92 char* grassmat,
char* colorMapFilename,
char* densityMapFilename,
93 int growtechnique,
int techn,
int range,
int mapsizex,
int mapsizez);
159 std::unordered_map<std::string, std::shared_ptr<RoR::ODefFile>>
m_odef_cache;
174 std::vector<Forests::PagedGeometry*> m_paged_geometry;
bool UpdateAnimatedObjects(float dt)
Ogre::SceneNode * sceneNode
ProceduralManagerPtr & getProceduralManager()
SurveyMapEntityVec m_map_entities
void LoadTObjFile(Ogre::String filename)
std::vector< EditorObject > m_editor_objects
std::vector< EditorObject > & GetEditorObjects()
void ProcessODefCollisionBoxes(StaticObject *obj, ODefFile *odef, const EditorObject ¶ms, bool race_event)
Ogre::SceneNode * getGroupingSceneNode()
Ogre::Vector3 initial_rotation
bool LoadTerrainObject(const Ogre::String &name, const Ogre::Vector3 &pos, const Ogre::Vector3 &rot, const Ogre::String &instancename, const Ogre::String &type, float rendering_distance=0, bool enable_collisions=true, int scripthandler=-1, bool uniquifyMaterial=false)
bool LoadTerrainScript(const Ogre::String &filename)
std::vector< MeshObject * > m_mesh_objects
void LoadPredefinedActors()
Ogre::Quaternion rotation
void MoveObjectVisuals(const Ogre::String &instancename, const Ogre::Vector3 &pos)
RoR::ODefFile * FetchODef(std::string const &odef_name)
bool HasPredefinedActors()
Ogre::Vector3 initial_position
Ogre::String instance_name
std::vector< SurveyMapEntity > SurveyMapEntityVec
Ogre::String instanceName
std::vector< localizer_t > GetLocalizers()
void ProcessGrass(float SwaySpeed, float SwayLength, float SwayDistribution, float Density, float minx, float miny, float minH, float maxx, float maxy, float maxH, char *grassmat, char *colorMapFilename, char *densityMapFilename, int growtechnique, int techn, int range, int mapsizex, int mapsizez)
Ogre::SceneNode * m_terrn2_grouping_node
For a readable scene graph (via inspector script)
std::vector< PredefinedActor > m_predefined_actors
std::vector< int > collTris
Central state/object manager and communications hub.
ProceduralManagerPtr m_procedural_manager
std::vector< AnimatedObject > m_animated_objects
Ogre::AnimationState * anim
TerrainObjectManager(Terrain *terrainManager)
std::vector< localizer_t > localizers
std::map< std::string, StaticObject > m_static_objects
Ogre::Vector3 initial_rotation
bool UpdateTerrainObjects(float dt)
void ProcessTree(float yawfrom, float yawto, float scalefrom, float scaleto, char *ColorMap, char *DensityMap, char *treemesh, char *treeCollmesh, float gridspacing, float highdens, int minDist, int maxDist, int mapsizex, int mapsizez)
std::unordered_map< std::string, std::shared_ptr< RoR::ODefFile > > m_odef_cache
void unloadObject(const Ogre::String &instancename)
Ogre::SceneNode * m_angelscript_grouping_node
For even more readable scene graph (via inspector script)
std::vector< int > collBoxes
Ogre::Quaternion rotation
Ogre::SceneNode * m_tobj_grouping_node
For even more readable scene graph (via inspector script)
Ogre::Vector3 initial_position