Skip to content

Commit 190f5b3

Browse files
committed
Fix normal collision python init
1 parent 102779d commit 190f5b3

File tree

6 files changed

+43
-36
lines changed

6 files changed

+43
-36
lines changed

python/src/collisions/normal/edge_edge.cpp

+10-13
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,20 @@ void define_edge_edge_normal_collision(py::module_& m)
2121
const EdgeEdgeDistanceType>(),
2222
py::arg("candidate"), py::arg("eps_x"),
2323
py::arg("dtype") = EdgeEdgeDistanceType::AUTO)
24-
.def(
25-
py::init<
26-
const long, const long, const double, const double,
27-
const Eigen::SparseVector<double>&,
28-
const EdgeEdgeDistanceType>(),
29-
py::arg("edge0_id"), py::arg("edge1_id"), py::arg("eps_x"),
30-
py::arg("weight"), py::arg("weight_gradient"),
31-
py::arg("dtype") = EdgeEdgeDistanceType::AUTO)
24+
// .def(
25+
// py::init<
26+
// const long, const long, const double, const double,
27+
// const Eigen::SparseVector<double>&,
28+
// const EdgeEdgeDistanceType>(),
29+
// py::arg("edge0_id"), py::arg("edge1_id"), py::arg("eps_x"),
30+
// py::arg("weight"), py::arg("weight_gradient"),
31+
// py::arg("dtype") = EdgeEdgeDistanceType::AUTO)
3232
.def("__eq__", &EdgeEdgeNormalCollision::operator==, py::arg("other"))
3333
.def("__ne__", &EdgeEdgeNormalCollision::operator!=, py::arg("other"))
3434
.def("__lt__", &EdgeEdgeNormalCollision::operator<, py::arg("other"))
3535
.def_readwrite(
3636
"eps_x", &EdgeEdgeNormalCollision::eps_x,
37-
R"ipc_Qu8mg5v7(
38-
Mollifier activation threshold.
39-
40-
edge_edge_mollifier
41-
)ipc_Qu8mg5v7")
37+
"Mollifier activation threshold.")
4238
.def_readwrite(
4339
"dtype", &EdgeEdgeNormalCollision::dtype,
4440
R"ipc_Qu8mg5v7(
@@ -47,3 +43,4 @@ void define_edge_edge_normal_collision(py::module_& m)
4743
Some EE collisions are mollified EV or VV collisions.
4844
)ipc_Qu8mg5v7");
4945
}
46+
}

python/src/collisions/normal/edge_vertex.cpp

+8-7
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ void define_edge_vertex_normal_collision(py::module_& m)
99
{
1010
py::class_<EdgeVertexNormalCollision, EdgeVertexCandidate, NormalCollision>(
1111
m, "EdgeVertexNormalCollision")
12-
.def(py::init<const EdgeVertexCandidate&>(), py::arg("candidate"))
13-
.def(
14-
py::init<
15-
const long, const long, const double,
16-
const Eigen::SparseVector<double>&>(),
17-
py::arg("edge_id"), py::arg("vertex_id"), py::arg("weight"),
18-
py::arg("weight_gradient"));
12+
.def(py::init<long, long>(), py::arg("edge_id"), py::arg("vertex_id"))
13+
.def(py::init<const EdgeVertexCandidate&>(), py::arg("candidate"));
14+
// .def(
15+
// py::init<
16+
// const long, const long, const double,
17+
// const Eigen::SparseVector<double>&>(),
18+
// py::arg("edge_id"), py::arg("vertex_id"), py::arg("weight"),
19+
// py::arg("weight_gradient"));
1920
}

python/src/collisions/normal/face_vertex.cpp

+9-6
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ void define_face_vertex_normal_collision(py::module_& m)
99
{
1010
py::class_<FaceVertexNormalCollision, FaceVertexCandidate, NormalCollision>(
1111
m, "FaceVertexNormalCollision")
12-
.def(py::init<const FaceVertexCandidate&>(), py::arg("candidate"))
1312
.def(
14-
py::init<
15-
const long, const long, const double,
16-
const Eigen::SparseVector<double>&>(),
17-
py::arg("face_id"), py::arg("vertex_id"), py::arg("weight"),
18-
py::arg("weight_gradient"));
13+
py::init<long, long>(), "", py::arg("face_id"),
14+
py::arg("vertex_id"))
15+
.def(py::init<const FaceVertexCandidate&>(), py::arg("candidate"));
16+
// .def(
17+
// py::init<
18+
// const long, const long, const double,
19+
// const Eigen::SparseVector<double>&>(),
20+
// py::arg("face_id"), py::arg("vertex_id"), py::arg("weight"),
21+
// py::arg("weight_gradient"));
1922
}

python/src/collisions/normal/vertex_vertex.cpp

+8-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@ void define_vertex_vertex_normal_collision(py::module_& m)
1010
py::class_<
1111
VertexVertexNormalCollision, VertexVertexCandidate, NormalCollision>(
1212
m, "VertexVertexNormalCollision")
13-
.def(py::init<const VertexVertexCandidate&>(), py::arg("vv_candidate"))
1413
.def(
1514
py::init<long, long>(), "", py::arg("vertex0_id"),
16-
py::arg("vertex1_id"));
15+
py::arg("vertex1_id"))
16+
.def(py::init<const VertexVertexCandidate&>(), py::arg("vv_candidate"));
17+
// .def(
18+
// py::init<
19+
// const long, const long, const double,
20+
// const Eigen::SparseVector<double>&>(),
21+
// py::arg("vertex0_id"), py::arg("vertex1_id"), py::arg("weight"),
22+
// py::arg("weight_gradient"));
1723
}

src/ipc/collisions/normal/normal_collisions.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ void NormalCollisions::build(
168168
// Cull the candidates by measuring the distance and dropping those that are
169169
// greater than dhat.
170170
const double offset_sqr = (dmin + dhat) * (dmin + dhat);
171-
auto is_active = [&](double distance_squared) {
172-
return distance_squared < offset_sqr;
171+
auto is_active = [&](double distance_sqr) {
172+
return distance_sqr < offset_sqr;
173173
};
174174

175175
tbb::enumerable_thread_specific<NormalCollisionsBuilder> storage(

src/ipc/collisions/normal/normal_collisions_builder.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ void NormalCollisionsBuilder::add_edge_vertex_collisions(
7171
const auto [v, e0, e1, _] =
7272
candidates[i].vertices(vertices, mesh.edges(), mesh.faces());
7373
const PointEdgeDistanceType dtype = point_edge_distance_type(v, e0, e1);
74-
const double distance_squared = point_edge_distance(v, e0, e1, dtype);
74+
const double distance_sqr = point_edge_distance(v, e0, e1, dtype);
7575

76-
if (!is_active(distance_squared))
76+
if (!is_active(distance_sqr))
7777
continue;
7878

7979
// ÷ 2 to handle double counting for correct integration
@@ -143,10 +143,10 @@ void NormalCollisionsBuilder::add_edge_edge_collisions(
143143
const EdgeEdgeDistanceType actual_dtype =
144144
edge_edge_distance_type(ea0, ea1, eb0, eb1);
145145

146-
const double distance_squared =
146+
const double distance_sqr =
147147
edge_edge_distance(ea0, ea1, eb0, eb1, actual_dtype);
148148

149-
if (!is_active(distance_squared))
149+
if (!is_active(distance_sqr))
150150
continue;
151151

152152
const double eps_x = edge_edge_mollifier_threshold(
@@ -242,10 +242,10 @@ void NormalCollisionsBuilder::add_face_vertex_collisions(
242242
// Compute distance type
243243
const PointTriangleDistanceType dtype =
244244
point_triangle_distance_type(v, f0, f1, f2);
245-
const double distance_squared =
245+
const double distance_sqr =
246246
point_triangle_distance(v, f0, f1, f2, dtype);
247247

248-
if (!is_active(distance_squared))
248+
if (!is_active(distance_sqr))
249249
continue;
250250

251251
// ÷ 4 to handle double counting and PT + EE for correct integration

0 commit comments

Comments
 (0)