29 using Scalar = _Scalar;
30 using VectorType = Eigen::Matrix<Scalar, Dim, 1>;
31 using MatrixType = Eigen::Matrix<Scalar, Dim, Dim>;
34 const VectorType&
normal = VectorType::Zero())
40 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
pos()
const {
return m_pos; }
42 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
normal()
const {
return m_normal; }
44 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
pos() {
return m_pos; }
46 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
normal() {
return m_normal; }
49 VectorType m_pos, m_normal;
63 using Scalar = _Scalar;
64 using VectorType = Eigen::Matrix<Scalar, Dim, 1>;
65 using MatrixType = Eigen::Matrix<Scalar, Dim, Dim>;
67 PONCA_MULTIARCH
inline PointPosition(
const VectorType&
pos = VectorType::Zero()) : m_pos(
pos) {}
70 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
pos()
const {
return m_pos; }
72 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
pos() {
return m_pos; }
97 using Scalar = _Scalar;
98 using VectorType = Eigen::Matrix<Scalar, Dim, 1>;
99 using MatrixType = Eigen::Matrix<Scalar, Dim, Dim>;
102 : m_pos(Eigen::Map<const VectorType>(_interlacedArray + Dim * 2 * _pId)),
103 m_normal(Eigen::Map<const VectorType>(_interlacedArray + Dim * 2 * _pId + Dim))
108 PONCA_MULTIARCH [[nodiscard]]
inline const Eigen::Map<const VectorType>&
pos()
const {
return m_pos; }
110 PONCA_MULTIARCH [[nodiscard]]
inline const Eigen::Map<const VectorType>&
normal()
const {
return m_normal; }
113 const Eigen::Map<const VectorType> m_pos, m_normal;
136 using Scalar = _Scalar;
137 using VectorType = Eigen::Matrix<Scalar, Dim, 1>;
138 using MatrixType = Eigen::Matrix<Scalar, Dim, Dim>;
141 : m_interlacedArray(_interlacedArray), m_id(_pId)
146 PONCA_MULTIARCH
inline void bind(Scalar* _interlacedArray) { m_interlacedArray = _interlacedArray; }
149 PONCA_MULTIARCH [[nodiscard]]
inline Eigen::Map<const VectorType>
pos()
const
151 return Eigen::Map<const VectorType>(m_interlacedArray + Dim * 2 * m_id);
154 PONCA_MULTIARCH [[nodiscard]]
inline Eigen::Map<const VectorType>
normal()
const
156 return Eigen::Map<const VectorType>(m_interlacedArray + Dim * 2 * m_id + Dim);
160 Scalar* m_interlacedArray;