コード例 #1
0
/// Nonvirtual member which removes all declared parameters
void ParamFunction::clearAllParameters() {
  clearTies();
  clearConstraints();
  m_parameters.clear();
  m_parameterNames.clear();
  m_parameterDescriptions.clear();
  m_parameterStatus.clear();
}
コード例 #2
0
ファイル: simulation.cpp プロジェクト: wrampon/physsim
void Simulation::setupConstraints()
{
    clearConstraints();

    switch(m_mesh->m_mesh_type)
    {
		case MESH_TYPE_OBJ_PHIS:
		{
			// generate stretch constraints. assign a stretch constraint for each edge.
			EigenVector3 p1, p2;
			for(std::vector<Edge>::iterator e = m_mesh->m_edge_list.begin(); e != m_mesh->m_edge_list.end(); ++e)
			{
				p1 = m_mesh->m_current_positions.block_vector(e->m_v1);
				p2 = m_mesh->m_current_positions.block_vector(e->m_v2);
				SpringConstraint *c = new SpringConstraint(&m_stiffness_stretch, e->m_v1, e->m_v2, (p1-p2).norm());
				m_constraints.push_back(c);
			}
		}
		break;

		case MESH_TYPE_PRIM:
		{
			// generate stretch constraints. assign a stretch constraint for each edge.
			EigenVector3 p1, p2;
			for (std::vector<Edge>::iterator e = m_mesh->m_edge_list.begin(); e != m_mesh->m_edge_list.end(); ++e)
			{
				p1 = m_mesh->m_current_positions.block_vector(e->m_v1);
				p2 = m_mesh->m_current_positions.block_vector(e->m_v2);
				SpringConstraint *c = new SpringConstraint(&m_stiffness_stretch, e->m_v1, e->m_v2, (p1 - p2).norm());
				m_constraints.push_back(c);
			}
		}
		break;

	}
	std::cout << m_constraints.size() << " LDALD " << std::endl;
}
コード例 #3
0
ファイル: simulation.cpp プロジェクト: wrampon/physsim
Simulation::~Simulation()
{
    clearConstraints();
}