56 Ogre::Quaternion
const & rot,
57 std::vector<unsigned int>& node_indices,
58 std::vector<ForvertTempData>& forvert_data
Central state/object manager and communications hub.
#define ROR_ASSERT(_EXPR)
Data structures representing 'truck' file format, see https://docs.rigsofrods.org/vehicle-creation/fi...
Core data structures for simulation; Everything affected by by either physics, network or user intera...
Enables saving and loading flexbodies from/to binary file.
Flexbody = A deformable mesh; updated on CPU every frame, then uploaded to video memory.
void updateFlexbodyVertexBuffers()
std::string m_orig_mesh_name
Ogre::ARGB * m_src_colors
CameraMode_t fb_camera_mode_orig
Dynamic visibility mode {0 and higher = cinecam index}.
Ogre::SceneNode * m_scene_node
Ogre::HardwareVertexBufferSharedPtr m_submesh_vbufs_norm[16]
normals
Locator_t * m_locators
1 loc per vertex
std::vector< NodeNum_t > m_forset_nodes
Ogre::Entity * m_scene_entity
static const char * PlaceholderTypeToString(PlaceholderType type)
Ogre::Vector3 m_center_offset
Ogre::Entity * getEntity()
void defragmentFlexbodyMesh()
FlexbodyID_t getID() const
int m_submesh_vbufs_vertex_counts[16]
RoR::GfxActor * m_gfx_actor
void setFlexbodyCastShadow(bool val)
@ TUNING_REMOVED_PLACEHOLDER
@ FAULTY_MESH_PLACEHOLDER
@ FAULTY_FORSET_PLACEHOLDER
std::string getOrigMeshInfo()
std::string m_orig_mesh_info
Ogre::HardwareVertexBufferSharedPtr m_shared_vbuf_pos
void setVisible(bool visible)
Ogre::HardwareVertexBufferSharedPtr m_submesh_vbufs_pos[16]
positions
Ogre::HardwareVertexBufferSharedPtr m_shared_vbuf_color
int m_camera_mode
Visibility control {-2 = always, -1 = 3rdPerson only, 0+ = cinecam index}.
Ogre::Vector3 getVertexPos(int vert)
void destroyOgreObjects()
Locator_t & getVertexLocator(int vert)
Ogre::Vector3 * m_dst_pos
int m_shared_buf_num_verts
Ogre::HardwareVertexBufferSharedPtr m_submesh_vbufs_color[16]
colors
void computeFlexbody()
Updates mesh deformation; works on CPU using local copy of vertex data.
Ogre::Vector3 m_flexit_center
Updated per frame.
Ogre::Vector3 * m_src_normals
const std::string & getOrigMeshName() const
PlaceholderType m_placeholder_type
CameraMode_t fb_camera_mode_active
Dynamic visibility mode {0 and higher = cinecam index}.
Ogre::Vector3 * m_dst_normals
PlaceholderType getPlaceholderType() const
bool m_uses_shared_vertex_data
std::string getLiveMeshInfo()
std::vector< NodeNum_t > & getForsetNodes()
Ogre::HardwareVertexBufferSharedPtr m_shared_vbuf_norm
static const NodeNum_t NODENUM_INVALID
static CameraMode_t CAMERA_MODE_ALWAYS_VISIBLE
int FlexbodyID_t
Index to GfxActor::m_flexbodies, use RoR::FLEXBODYID_INVALID as empty value.
std::string PrintMeshInfo(std::string const &title, Ogre::MeshPtr mesh)
uint16_t NodeNum_t
Node position within Actor::ar_nodes; use RoR::NODENUM_INVALID as empty value.
static const FlexbodyID_t FLEXBODYID_INVALID