Skip to content
This repository was archived by the owner on Oct 22, 2025. It is now read-only.

Commit f937e09

Browse files
committed
fix compile error on windows
1 parent bc3fa7c commit f937e09

File tree

2 files changed

+8
-17
lines changed

2 files changed

+8
-17
lines changed

src/ipc/smooth_contact/collisions/smooth_collision.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,13 +259,14 @@ auto SmoothCollisionTemplate<max_vert, PrimitiveA, PrimitiveB>::gradient(
259259
}
260260

261261
template <int max_vert, typename PrimitiveA, typename PrimitiveB>
262-
auto SmoothCollisionTemplate<max_vert, PrimitiveA, PrimitiveB>::hessian(
262+
Eigen::MatrixXd
263+
SmoothCollisionTemplate<max_vert, PrimitiveA, PrimitiveB>::hessian(
263264
const Vector<
264265
double,
265266
-1,
266267
SmoothCollisionTemplate<max_vert, PrimitiveA, PrimitiveB>::max_size>&
267268
positions,
268-
const ParameterType& params) const -> MatrixMax<double, max_size, max_size>
269+
const ParameterType& params) const
269270
{
270271
const auto core_indices = get_core_indices();
271272

src/ipc/smooth_contact/collisions/smooth_collision.hpp

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,25 +48,15 @@ template <int max_vert> class SmoothCollision : public Collision<max_vert> {
4848

4949
virtual double operator()(
5050
const Vector<double, -1, max_size>& positions,
51-
const ParameterType& params) const
52-
{
53-
return 0.;
54-
}
51+
const ParameterType& params) const = 0;
5552

5653
virtual Vector<double, -1, max_size> gradient(
5754
const Vector<double, -1, max_size>& positions,
58-
const ParameterType& params) const
59-
{
60-
return Vector<double, -1, max_size>::Zero(positions.size());
61-
}
55+
const ParameterType& params) const = 0;
6256

63-
virtual MatrixMax<double, max_size, max_size> hessian(
57+
virtual Eigen::MatrixXd hessian(
6458
const Vector<double, -1, max_size>& positions,
65-
const ParameterType& params) const
66-
{
67-
return MatrixMax<double, max_size, max_size>::Zero(
68-
positions.size(), positions.size());
69-
}
59+
const ParameterType& params) const = 0;
7060

7161
// ---- distance ----
7262

@@ -170,7 +160,7 @@ class SmoothCollisionTemplate : public SmoothCollision<max_vert> {
170160
const Vector<double, -1, max_size>& positions,
171161
const ParameterType& params) const override;
172162

173-
MatrixMax<double, max_size, max_size> hessian(
163+
Eigen::MatrixXd hessian(
174164
const Vector<double, -1, max_size>& positions,
175165
const ParameterType& params) const override;
176166

0 commit comments

Comments
 (0)