Skip to content

Commit cc74933

Browse files
committed
- added some documentation
- cleaned up project - added new Joint demo - added HingeJoint - added BallOnLineJoint - separated deformable, fluid and rigid body dynamics in different classes - cleaned up interface - added doxygen files
1 parent 0488b0f commit cc74933

36 files changed

+5165
-1014
lines changed

Changelog.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
- added some documentation
2+
- cleaned up project
3+
- added new Joint demo
4+
- added HingeJoint
5+
- added BallOnLineJoint
6+
- separated deformable, fluid and rigid body dynamics in different classes
7+
- cleaned up interface
8+
- added doxygen files
19
- update to Eigen 3.2.5
210
- resolve compiler errors in Visual Studio 2010
311

Demos/BarDemo/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ include_directories( ${EIGEN3_INCLUDE_DIR} )
4141
include_directories(${PROJECT_PATH}/extern/freeglut/include)
4242
include_directories(${PROJECT_PATH}/extern/glew/include)
4343

44+
set_target_properties(BarDemo PROPERTIES FOLDER "Demos")
4445
add_dependencies(BarDemo ${SIMULATION_DEPENDENCIES})
4546
target_link_libraries(BarDemo ${SIMULATION_LINK_LIBRARIES})
4647
VIS_SOURCE_GROUPS()

Demos/BarDemo/TetModel.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@ void TetModel::initTetConstraints()
9494
};
9595

9696
TetConstraint tc;
97-
PositionBasedDynamics::computeStrainTetraInvRestMat(x1, x2, x3, x4, tc.invRestMat_SBD);
98-
PositionBasedDynamics::computeFEMTetraInvRestMat(x1, x2, x3, x4, tc.tetVolume, tc.invRestMat_FEM);
99-
PositionBasedDynamics::computeShapeMatchingRestInfo(x, w, 4, tc.restCm_SM, tc.invRestMat_SM);
97+
PositionBasedDynamics::initStrainTetraInvRestMat(x1, x2, x3, x4, tc.invRestMat_SBD);
98+
PositionBasedDynamics::initFEMTetraInvRestMat(x1, x2, x3, x4, tc.tetVolume, tc.invRestMat_FEM);
99+
PositionBasedDynamics::initShapeMatchingRestInfo(x, w, 4, tc.restCm_SM, tc.invRestMat_SM);
100100
m_tetConstraints.push_back(tc);
101101
}
102102
}

Demos/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
include(Visualization/CMakeLists.txt)
22

3-
subdirs(BarDemo ClothDemo FluidDemo RigidBodyDemo)
3+
subdirs(BarDemo ClothDemo FluidDemo RigidBodyDemos)

Demos/ClothDemo/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ include_directories( ${EIGEN3_INCLUDE_DIR} )
4040
include_directories(${PROJECT_PATH}/extern/freeglut/include)
4141
include_directories(${PROJECT_PATH}/extern/glew/include)
4242

43+
set_target_properties(ClothDemo PROPERTIES FOLDER "Demos")
4344
add_dependencies(ClothDemo ${SIMULATION_DEPENDENCIES})
4445
target_link_libraries(ClothDemo ${SIMULATION_LINK_LIBRARIES})
4546
VIS_SOURCE_GROUPS()

Demos/ClothDemo/TriangleModel.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ void TriangleModel::initTriangleConstraints()
103103
const Eigen::Vector3f y3(x3[0], x3[2], 0.0);
104104

105105
TriangleConstraint tc;
106-
PositionBasedDynamics::computeStrainTriangleInvRestMat(y1, y2, y3, tc.invRestMat_SBD);
107-
PositionBasedDynamics::computeFEMTriangleInvRestMat(x1, x2, x3, tc.triangleArea, tc.invRestMat_FEM);
106+
PositionBasedDynamics::initStrainTriangleInvRestMat(y1, y2, y3, tc.invRestMat_SBD);
107+
PositionBasedDynamics::initFEMTriangleInvRestMat(x1, x2, x3, tc.triangleArea, tc.invRestMat_FEM);
108108
m_triangleConstraints.push_back(tc);
109109
}
110110
}
@@ -151,7 +151,7 @@ void TriangleModel::initBendingConstraints()
151151
bc.vertex3 = edges[i].m_vert[0];
152152
bc.vertex4 = edges[i].m_vert[1];
153153
bc.restAngle = 0.0f;
154-
PositionBasedDynamics::computeQuadraticBendingMat(pd.getPosition0(bc.vertex1), pd.getPosition0(bc.vertex2), pd.getPosition0(bc.vertex3), pd.getPosition0(bc.vertex4), bc.Q);
154+
PositionBasedDynamics::initQuadraticBendingMat(pd.getPosition0(bc.vertex1), pd.getPosition0(bc.vertex2), pd.getPosition0(bc.vertex3), pd.getPosition0(bc.vertex4), bc.Q);
155155
m_bendingConstraints.push_back(bc);
156156
}
157157
}

Demos/FluidDemo/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ include_directories( ${EIGEN3_INCLUDE_DIR} )
4141
include_directories(${PROJECT_PATH}/extern/freeglut/include)
4242
include_directories(${PROJECT_PATH}/extern/glew/include)
4343

44+
set_target_properties(FluidDemo PROPERTIES FOLDER "Demos")
4445
add_dependencies(FluidDemo ${SIMULATION_DEPENDENCIES})
4546
target_link_libraries(FluidDemo ${SIMULATION_LINK_LIBRARIES})
4647
VIS_SOURCE_GROUPS()

Demos/FluidDemo/TimeStepFluidModel.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include "TimeStepFluidModel.h"
22
#include "Demos/Utils/TimeManager.h"
3-
#include "PositionBasedDynamics/PositionBasedDynamics.h"
3+
#include "PositionBasedDynamics/PositionBasedFluids.h"
44
#include "PositionBasedDynamics/TimeIntegration.h"
55
#include "PositionBasedDynamics/SPHKernels.h"
66

@@ -97,7 +97,7 @@ void TimeStepFluidModel::computeDensities(FluidModel &model)
9797
{
9898
float &density = model.getDensity(i);
9999
float density_err;
100-
PositionBasedDynamics::computePBFDensity(i, numParticles, &pd.getPosition(0), &pd.getMass(0), &model.getBoundaryX(0), &model.getBoundaryPsi(0), numNeighbors[i], neighbors[i], model.getDensity0(), true, density_err, density);
100+
PositionBasedFluids::computePBFDensity(i, numParticles, &pd.getPosition(0), &pd.getMass(0), &model.getBoundaryX(0), &model.getBoundaryPsi(0), numNeighbors[i], neighbors[i], model.getDensity0(), true, density_err, density);
101101
}
102102
}
103103
}
@@ -209,8 +209,8 @@ void TimeStepFluidModel::constraintProjection(FluidModel &model)
209209
for (int i = 0; i < (int)nParticles; i++)
210210
{
211211
float density_err;
212-
PositionBasedDynamics::computePBFDensity(i, nParticles, &pd.getPosition(0), &pd.getMass(0), &model.getBoundaryX(0), &model.getBoundaryPsi(0), numNeighbors[i], neighbors[i], model.getDensity0(), true, density_err, model.getDensity(i));
213-
PositionBasedDynamics::computePBFLagrangeMultiplier(i, nParticles, &pd.getPosition(0), &pd.getMass(0), &model.getBoundaryX(0), &model.getBoundaryPsi(0), model.getDensity(i), numNeighbors[i], neighbors[i], model.getDensity0(), true, model.getLambda(i));
212+
PositionBasedFluids::computePBFDensity(i, nParticles, &pd.getPosition(0), &pd.getMass(0), &model.getBoundaryX(0), &model.getBoundaryPsi(0), numNeighbors[i], neighbors[i], model.getDensity0(), true, density_err, model.getDensity(i));
213+
PositionBasedFluids::computePBFLagrangeMultiplier(i, nParticles, &pd.getPosition(0), &pd.getMass(0), &model.getBoundaryX(0), &model.getBoundaryPsi(0), model.getDensity(i), numNeighbors[i], neighbors[i], model.getDensity0(), true, model.getLambda(i));
214214
}
215215
}
216216

@@ -220,7 +220,7 @@ void TimeStepFluidModel::constraintProjection(FluidModel &model)
220220
for (int i = 0; i < (int)nParticles; i++)
221221
{
222222
Eigen::Vector3f corr;
223-
PositionBasedDynamics::solveDensityConstraint(i, nParticles, &pd.getPosition(0), &pd.getMass(0), &model.getBoundaryX(0), &model.getBoundaryPsi(0), numNeighbors[i], neighbors[i], model.getDensity0(), true, &model.getLambda(0), corr);
223+
PositionBasedFluids::solveDensityConstraint(i, nParticles, &pd.getPosition(0), &pd.getMass(0), &model.getBoundaryX(0), &model.getBoundaryPsi(0), numNeighbors[i], neighbors[i], model.getDensity0(), true, &model.getLambda(0), corr);
224224
model.getDeltaX(i) = corr;
225225
}
226226
}

Demos/RigidBodyDemo/RigidBodyModel.cpp

Lines changed: 0 additions & 85 deletions
This file was deleted.

Demos/RigidBodyDemo/RigidBodyModel.h

Lines changed: 0 additions & 46 deletions
This file was deleted.

Demos/RigidBodyDemo/TimeStepRigidBodyModel.cpp

Lines changed: 0 additions & 134 deletions
This file was deleted.

0 commit comments

Comments
 (0)