mirror of
https://github.com/bulletphysics/bullet3.git
synced 2026-11-09 01:15:35 +00:00
no longer need to use start_modes, because all the rigid modes are not saved in .bin files in the preprocessor
This commit is contained in:
@@ -12,7 +12,6 @@ btReducedSoftBody::btReducedSoftBody(btSoftBodyWorldInfo* worldInfo, int node_co
|
||||
|
||||
// reduced deformable
|
||||
m_reducedModel = true;
|
||||
m_startMode = 0;
|
||||
m_nReduced = 0;
|
||||
m_nFull = 0;
|
||||
|
||||
@@ -43,9 +42,8 @@ btReducedSoftBody::btReducedSoftBody(btSoftBodyWorldInfo* worldInfo, int node_co
|
||||
m_rigidTransformWorld.setIdentity();
|
||||
}
|
||||
|
||||
void btReducedSoftBody::setReducedModes(int start_mode, int num_modes, int full_size)
|
||||
void btReducedSoftBody::setReducedModes(int num_modes, int full_size)
|
||||
{
|
||||
m_startMode = start_mode;
|
||||
m_nReduced = num_modes;
|
||||
m_nFull = full_size;
|
||||
m_reducedDofs.resize(m_nReduced, 0);
|
||||
|
||||
@@ -71,7 +71,6 @@ class btReducedSoftBody : public btSoftBody
|
||||
//
|
||||
|
||||
// reduced space
|
||||
int m_startMode;
|
||||
int m_nReduced;
|
||||
int m_nFull;
|
||||
tDenseMatrix m_modes; // modes of the reduced deformable model. Each inner array is a mode, outer array size = n_modes
|
||||
@@ -105,7 +104,7 @@ class btReducedSoftBody : public btSoftBody
|
||||
//
|
||||
void internalInitialization();
|
||||
|
||||
void setReducedModes(int start_mode, int num_modes, int full_size);
|
||||
void setReducedModes(int num_modes, int full_size);
|
||||
|
||||
void setMassProps(const tDenseArray& mass_array);
|
||||
|
||||
|
||||
@@ -4,39 +4,39 @@
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
|
||||
btReducedSoftBody* btReducedSoftBodyHelpers::createReducedBeam(btSoftBodyWorldInfo& worldInfo, const int start_mode, const int num_modes)
|
||||
btReducedSoftBody* btReducedSoftBodyHelpers::createReducedBeam(btSoftBodyWorldInfo& worldInfo, const int num_modes)
|
||||
{
|
||||
std::string filepath("../../../examples/SoftDemo/beam/");
|
||||
std::string filename = filepath + "mesh.vtk";
|
||||
btReducedSoftBody* rsb = btReducedSoftBodyHelpers::createFromVtkFile(worldInfo, filename.c_str());
|
||||
|
||||
rsb->setReducedModes(start_mode, num_modes, rsb->m_nodes.size());
|
||||
rsb->setReducedModes(num_modes, rsb->m_nodes.size());
|
||||
btVector3 half_extents(0.5, 0.25, 2);
|
||||
btReducedSoftBodyHelpers::readReducedDeformableInfoFromFiles(rsb, filepath.c_str(), half_extents);
|
||||
|
||||
return rsb;
|
||||
}
|
||||
|
||||
btReducedSoftBody* btReducedSoftBodyHelpers::createReducedCube(btSoftBodyWorldInfo& worldInfo, const int start_mode, const int num_modes)
|
||||
btReducedSoftBody* btReducedSoftBodyHelpers::createReducedCube(btSoftBodyWorldInfo& worldInfo, const int num_modes)
|
||||
{
|
||||
std::string filepath("../../../examples/SoftDemo/cube/");
|
||||
std::string filename = filepath + "mesh.vtk";
|
||||
btReducedSoftBody* rsb = btReducedSoftBodyHelpers::createFromVtkFile(worldInfo, filename.c_str());
|
||||
|
||||
rsb->setReducedModes(start_mode, num_modes, rsb->m_nodes.size());
|
||||
rsb->setReducedModes(num_modes, rsb->m_nodes.size());
|
||||
btVector3 half_extents(0.5, 0.5, 0.5);
|
||||
btReducedSoftBodyHelpers::readReducedDeformableInfoFromFiles(rsb, filepath.c_str(), half_extents);
|
||||
|
||||
return rsb;
|
||||
}
|
||||
|
||||
btReducedSoftBody* btReducedSoftBodyHelpers::createReducedSponge(btSoftBodyWorldInfo& worldInfo, const int start_mode, const int num_modes)
|
||||
btReducedSoftBody* btReducedSoftBodyHelpers::createReducedSponge(btSoftBodyWorldInfo& worldInfo, const int num_modes)
|
||||
{
|
||||
std::string filepath("../../../examples/SoftDemo/sponge/");
|
||||
std::string filename = filepath + "mesh.vtk";
|
||||
btReducedSoftBody* rsb = btReducedSoftBodyHelpers::createFromVtkFile(worldInfo, filename.c_str());
|
||||
|
||||
rsb->setReducedModes(start_mode, num_modes, rsb->m_nodes.size());
|
||||
rsb->setReducedModes(num_modes, rsb->m_nodes.size());
|
||||
btVector3 half_extents(0.025, 0.025, 0.025); //TODO: fix
|
||||
btReducedSoftBodyHelpers::readReducedDeformableInfoFromFiles(rsb, filepath.c_str(), half_extents);
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
struct btReducedSoftBodyHelpers
|
||||
{
|
||||
// create a beam
|
||||
static btReducedSoftBody* createReducedBeam(btSoftBodyWorldInfo& worldInfo, const int start_mode, const int num_modes);
|
||||
static btReducedSoftBody* createReducedBeam(btSoftBodyWorldInfo& worldInfo, const int num_modes);
|
||||
// create a cube
|
||||
static btReducedSoftBody* createReducedCube(btSoftBodyWorldInfo& worldInfo, const int start_mode, const int num_modes);
|
||||
static btReducedSoftBody* createReducedCube(btSoftBodyWorldInfo& worldInfo, const int num_modes);
|
||||
// create a sponge (small rectangular cuboid)
|
||||
static btReducedSoftBody* createReducedSponge(btSoftBodyWorldInfo& worldInfo, const int start_mode, const int num_modes);
|
||||
static btReducedSoftBody* createReducedSponge(btSoftBodyWorldInfo& worldInfo, const int num_modes);
|
||||
|
||||
// read in geometry info from Vtk file
|
||||
static btReducedSoftBody* createFromVtkFile(btSoftBodyWorldInfo& worldInfo, const char* vtk_file);
|
||||
|
||||
Reference in New Issue
Block a user