Program Listing for File RigidBodyGeometry.h
↰ Return to documentation for file (Simulation/RigidBodyGeometry.h)
#ifndef __RIGIDBODYGEOMETRY_H__
#define __RIGIDBODYGEOMETRY_H__
#include "Common/Common.h"
#include "Utils/IndexedFaceMesh.h"
#include "Simulation/ParticleData.h"
#include <vector>
namespace PBD
{
class RigidBodyGeometry
{
public:
RigidBodyGeometry();
virtual ~RigidBodyGeometry();
typedef Utilities::IndexedFaceMesh Mesh;
protected:
Mesh m_mesh;
VertexData m_vertexData_local;
VertexData m_vertexData;
public:
Mesh &getMesh();
VertexData &getVertexData();
const VertexData &getVertexData() const;
VertexData &getVertexDataLocal();
const VertexData &getVertexDataLocal() const;
void initMesh(const unsigned int nVertices, const unsigned int nFaces, const Vector3r *vertices, const unsigned int* indices, const Mesh::UVIndices& uvIndices, const Mesh::UVs& uvs, const Vector3r &scale = Vector3r(1.0, 1.0, 1.0), const bool flatShading = false);
void updateMeshTransformation(const Vector3r &x, const Matrix3r &R);
void updateMeshNormals(const VertexData &vd);
};
}
#endif