@@ -88,8 +88,8 @@ int main( int argc, char **argv )
8888
8989 TwType enumType2 = TwDefineEnum (" SimulationMethodType" , NULL , 0 );
9090 TwAddVarCB (MiniGL::getTweakBar (), " SimulationMethod" , enumType2, setSimulationMethod, getSimulationMethod, &simulationMethod,
91- " label='Simulation method' enum='0 {None}, 1 {Volume constraints}, 2 {FEM based PBD}, 3 {Strain based dynamics (no inversion handling) }, 4 {Shape matching (no inversion handling)}, 5 {XPBD volume constraints}' group=Simulation " );
92- TwAddVarCB (MiniGL::getTweakBar (), " stiffness" , TW_TYPE_REAL, setStiffness, getStiffness, model, " label='Stiffness' min=0.0 step=0.1 precision=4 group='Solid' " );
91+ " label='Simulation method' enum='0 {None}, 1 {Volume constraints}, 2 {FEM based PBD}, 3 {FEM based XPBD }, \
92+ 4 {Strain based dynamics (no inversion handling)}, 5 {Shape matching (no inversion handling)}, 6 {XPBD volume constraints}' group=Simulation " ); TwAddVarCB (MiniGL::getTweakBar (), " stiffness" , TW_TYPE_REAL, setStiffness, getStiffness, model, " label='Stiffness' min=0.0 step=0.1 precision=4 group='Solid' " );
9393 TwAddVarCB (MiniGL::getTweakBar (), " poissonRatio" , TW_TYPE_REAL, setPoissonRatio, getPoissonRatio, model, " label='Poisson ratio' min=0.0 step=0.1 precision=4 group='Solid' " );
9494 TwAddVarCB (MiniGL::getTweakBar (), " normalizeStretch" , TW_TYPE_BOOL32, setNormalizeStretch, getNormalizeStretch, model, " label='Normalize stretch' group='Solid' " );
9595 TwAddVarCB (MiniGL::getTweakBar (), " normalizeShear" , TW_TYPE_BOOL32, setNormalizeShear, getNormalizeShear, model, " label='Normalize shear' group='Solid' " );
@@ -276,11 +276,13 @@ void createMesh()
276276
277277 // init constraints
278278 stiffness = 1.0 ;
279- if (simulationMethod == 5 )
279+ if (simulationMethod == 3 )
280+ stiffness = 1000000 ;
281+ if (simulationMethod == 6 )
280282 stiffness = 100000 ;
281283
282284 volumeStiffness = 1.0 ;
283- if (simulationMethod == 5 )
285+ if (simulationMethod == 6 )
284286 volumeStiffness = 100000 ;
285287
286288 ParticleData& pd = model->getParticles ();
@@ -301,6 +303,7 @@ void TW_CALL setStiffness(const void* value, void* clientData)
301303{
302304 stiffness = *(const Real*)(value);
303305 ((SimulationModel*)clientData)->setConstraintValue <FEMTetConstraint, Real, &FEMTetConstraint::m_stiffness>(stiffness);
306+ ((SimulationModel*)clientData)->setConstraintValue <XPBD_FEMTetConstraint, Real, &XPBD_FEMTetConstraint::m_stiffness>(stiffness);
304307 ((SimulationModel*)clientData)->setConstraintValue <StrainTetConstraint, Real, &StrainTetConstraint::m_stretchStiffness>(stiffness);
305308 ((SimulationModel*)clientData)->setConstraintValue <StrainTetConstraint, Real, &StrainTetConstraint::m_shearStiffness>(stiffness);
306309 ((SimulationModel*)clientData)->setConstraintValue <DistanceConstraint, Real, &DistanceConstraint::m_stiffness>(stiffness);
@@ -334,6 +337,7 @@ void TW_CALL setPoissonRatio(const void* value, void* clientData)
334337{
335338 poissonRatio = *(const Real*)(value);
336339 ((SimulationModel*)clientData)->setConstraintValue <FEMTetConstraint, Real, &FEMTetConstraint::m_poissonRatio>(poissonRatio);
340+ ((SimulationModel*)clientData)->setConstraintValue <XPBD_FEMTetConstraint, Real, &XPBD_FEMTetConstraint::m_poissonRatio>(poissonRatio);
337341}
338342
339343void TW_CALL getNormalizeStretch (void * value, void * clientData)
0 commit comments