RigsofRods
Soft-body Physics Simulation
Data Structures | Public Member Functions | Private Member Functions | Private Attributes | Friends
RoR::FlexMeshWheel Class Reference

Consists of static mesh, representing the rim, and dynamic mesh, representing the tire. More...

#include <FlexMeshWheel.h>

+ Inheritance diagram for RoR::FlexMeshWheel:
+ Collaboration diagram for RoR::FlexMeshWheel:

Data Structures

struct  FlexMeshWheelVertex
 

Public Member Functions

 ~FlexMeshWheel ()
 
Ogre::Entity * GetTireEntity ()
 
Ogre::Vector3 updateVertices ()
 
bool flexitPrepare ()
 
void flexitCompute ()
 
Ogre::Vector3 flexitFinal ()
 
void setVisible (bool visible)
 
- Public Member Functions inherited from RoR::Flexable
virtual ~Flexable ()
 

Private Member Functions

 FlexMeshWheel (Ogre::Entity *rim_prop_entity, Ogre::SceneNode *rim_scene_node, RoR::GfxActor *gfx_actor, int axis_node_1_index, int axis_node_2_index, int nstart, int nrays, std::string const &tire_mesh_name, std::string const &tire_mesh_rg, std::string const &tire_material_name, std::string const &tire_material_rg, float rimradius, bool rimreverse)
 

Private Attributes

size_t m_num_rays
 
float m_rim_radius
 
RoR::GfxActorm_gfx_actor
 
int m_axis_node0_idx
 
int m_axis_node1_idx
 
int m_start_node_idx
 First node (lowest index) belonging to this wheel. More...
 
Ogre::Vector3 m_flexit_center
 
Ogre::MeshPtr m_mesh
 
Ogre::SubMesh * m_submesh
 
bool m_is_rim_reverse
 
Ogre::Entity * m_rim_entity
 
Ogre::Entity * m_tire_entity
 
Ogre::SceneNode * m_rim_scene_node
 
float m_norm_y
 
size_t m_vertex_count
 
std::vector< FlexMeshWheelVertexm_vertices
 
Ogre::VertexDeclaration * m_vertex_format
 
Ogre::HardwareVertexBufferSharedPtr m_hw_vbuf
 
size_t m_index_count
 
std::vector< unsigned short > m_indices
 

Friends

class RoR::FlexFactory
 

Detailed Description

Consists of static mesh, representing the rim, and dynamic mesh, representing the tire.

Definition at line 40 of file FlexMeshWheel.h.

Constructor & Destructor Documentation

◆ ~FlexMeshWheel()

FlexMeshWheel::~FlexMeshWheel ( )

Definition at line 168 of file FlexMeshWheel.cpp.

+ Here is the call graph for this function:

◆ FlexMeshWheel()

FlexMeshWheel::FlexMeshWheel ( Ogre::Entity *  rim_prop_entity,
Ogre::SceneNode *  rim_scene_node,
RoR::GfxActor gfx_actor,
int  axis_node_1_index,
int  axis_node_2_index,
int  nstart,
int  nrays,
std::string const &  tire_mesh_name,
std::string const &  tire_mesh_rg,
std::string const &  tire_material_name,
std::string const &  tire_material_rg,
float  rimradius,
bool  rimreverse 
)
private

Definition at line 34 of file FlexMeshWheel.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ flexitCompute()

void FlexMeshWheel::flexitCompute ( )
virtual

Implements RoR::Flexable.

Definition at line 256 of file FlexMeshWheel.cpp.

+ Here is the call graph for this function:

◆ flexitFinal()

Vector3 FlexMeshWheel::flexitFinal ( )
virtual

Implements RoR::Flexable.

Definition at line 261 of file FlexMeshWheel.cpp.

◆ flexitPrepare()

bool FlexMeshWheel::flexitPrepare ( )
virtual

Implements RoR::Flexable.

Definition at line 237 of file FlexMeshWheel.cpp.

+ Here is the call graph for this function:

◆ GetTireEntity()

Ogre::Entity* RoR::FlexMeshWheel::GetTireEntity ( )
inline

Definition at line 48 of file FlexMeshWheel.h.

+ Here is the caller graph for this function:

◆ setVisible()

void FlexMeshWheel::setVisible ( bool  visible)
virtual

Implements RoR::Flexable.

Definition at line 232 of file FlexMeshWheel.cpp.

◆ updateVertices()

Vector3 FlexMeshWheel::updateVertices ( )

Definition at line 187 of file FlexMeshWheel.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ RoR::FlexFactory

friend class RoR::FlexFactory
friend

Definition at line 42 of file FlexMeshWheel.h.

Field Documentation

◆ m_axis_node0_idx

int RoR::FlexMeshWheel::m_axis_node0_idx
private

Definition at line 88 of file FlexMeshWheel.h.

◆ m_axis_node1_idx

int RoR::FlexMeshWheel::m_axis_node1_idx
private

Definition at line 89 of file FlexMeshWheel.h.

◆ m_flexit_center

Ogre::Vector3 RoR::FlexMeshWheel::m_flexit_center
private

Definition at line 93 of file FlexMeshWheel.h.

◆ m_gfx_actor

RoR::GfxActor* RoR::FlexMeshWheel::m_gfx_actor
private

Definition at line 87 of file FlexMeshWheel.h.

◆ m_hw_vbuf

Ogre::HardwareVertexBufferSharedPtr RoR::FlexMeshWheel::m_hw_vbuf
private

Definition at line 106 of file FlexMeshWheel.h.

◆ m_index_count

size_t RoR::FlexMeshWheel::m_index_count
private

Definition at line 109 of file FlexMeshWheel.h.

◆ m_indices

std::vector<unsigned short> RoR::FlexMeshWheel::m_indices
private

Definition at line 110 of file FlexMeshWheel.h.

◆ m_is_rim_reverse

bool RoR::FlexMeshWheel::m_is_rim_reverse
private

Definition at line 96 of file FlexMeshWheel.h.

◆ m_mesh

Ogre::MeshPtr RoR::FlexMeshWheel::m_mesh
private

Definition at line 94 of file FlexMeshWheel.h.

◆ m_norm_y

float RoR::FlexMeshWheel::m_norm_y
private

Definition at line 102 of file FlexMeshWheel.h.

◆ m_num_rays

size_t RoR::FlexMeshWheel::m_num_rays
private

Definition at line 85 of file FlexMeshWheel.h.

◆ m_rim_entity

Ogre::Entity* RoR::FlexMeshWheel::m_rim_entity
private

Definition at line 97 of file FlexMeshWheel.h.

◆ m_rim_radius

float RoR::FlexMeshWheel::m_rim_radius
private

Definition at line 86 of file FlexMeshWheel.h.

◆ m_rim_scene_node

Ogre::SceneNode* RoR::FlexMeshWheel::m_rim_scene_node
private

Definition at line 99 of file FlexMeshWheel.h.

◆ m_start_node_idx

int RoR::FlexMeshWheel::m_start_node_idx
private

First node (lowest index) belonging to this wheel.

Definition at line 90 of file FlexMeshWheel.h.

◆ m_submesh

Ogre::SubMesh* RoR::FlexMeshWheel::m_submesh
private

Definition at line 95 of file FlexMeshWheel.h.

◆ m_tire_entity

Ogre::Entity* RoR::FlexMeshWheel::m_tire_entity
private

Definition at line 98 of file FlexMeshWheel.h.

◆ m_vertex_count

size_t RoR::FlexMeshWheel::m_vertex_count
private

Definition at line 103 of file FlexMeshWheel.h.

◆ m_vertex_format

Ogre::VertexDeclaration* RoR::FlexMeshWheel::m_vertex_format
private

Definition at line 105 of file FlexMeshWheel.h.

◆ m_vertices

std::vector<FlexMeshWheelVertex> RoR::FlexMeshWheel::m_vertices
private

Definition at line 104 of file FlexMeshWheel.h.


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