forked from sofa-framework/sofa
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathICPRegistration_ShapeMatching_Engine.scn
More file actions
44 lines (35 loc) · 1.9 KB
/
ICPRegistration_ShapeMatching_Engine.scn
File metadata and controls
44 lines (35 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?xml version="1.0"?>
<Node name="Scene" gravity="0 0 0" dt="1" >
<RequiredPlugin name="SofaOpenglVisual"/>
<RequiredPlugin name="Registration" pluginName="Registration" />
<VisualStyle displayFlags="showForceFields showVisual" />
<EulerImplicitSolver rayleighStiffness="0.5" rayleighMass="0.5" />
<CGLinearSolver template="GraphScattered" iterations="25" threshold="1e-008" tolerance="1e-5"/>
<Node name="target">
<MeshObjLoader name="meshLoader_1" filename="data/femur_f.obj" handleSeams="1" />
<OglModel name="Bone" src="@meshLoader_1" color="0.5 .4 1 1" />
</Node>
<Node name="source">
<MeshObjLoader name="meshLoader" filename="data/femur_m_res.obj"/>
<MeshTopology src="@meshLoader" />
<MechanicalObject name="PointSet" />
<UniformMass mass="10"/>
<ClusteringEngine template="Vec3d" name="clustering" radius='0.4' number='100' position="@meshLoader.position"/>
<ShapeMatching template="Vec3d" name="shapeMatching" iterations='1' position="@PointSet.position" cluster="@clustering.cluster"/>
<PositionBasedDynamicsConstraint template="Vec3d" stiffness = '1' position="@shapeMatching.targetPosition"/>
<NormalsFromPoints name="NormalsFromPoints" template="Vec3d" position="@PointSet.position" triangles="@meshLoader.triangles" quads="@meshLoader.quads"/>
<ClosestPointRegistrationForceField template="Vec3d"
sourceTriangles="@meshLoader.triangles"
sourceNormals="@NormalsFromPoints.normals"
position="@../target/Bone.position"
triangles="@../target/Bone.triangles"
normals="@../target/Bone.normal"
cacheSize="4"
stiffness="1" damping="0" />
<Node name="Visu">
<MeshObjLoader name="meshLoader_0" filename="data/femur_m.obj" handleSeams="1" />
<OglModel name="Visual" src="@meshLoader_0" normals="0" color="1 .4 0.5 1" />
<BarycentricMapping input="@.." output="@Visual" />
</Node>
</Node>
</Node>