22 typedef _Scalar Scalar;
23 typedef Eigen::Matrix<Scalar, Dim, 1> VectorType;
24 typedef Eigen::Matrix<Scalar, Dim, Dim> MatrixType;
27 const VectorType &
pos = VectorType::Zero(),
28 const VectorType&
normal = VectorType::Zero()
32 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
pos()
const {
return m_pos; }
34 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
normal()
const {
return m_normal; }
36 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
pos() {
return m_pos; }
38 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
normal() {
return m_normal; }
41 VectorType m_pos, m_normal;
52 typedef _Scalar Scalar;
53 typedef Eigen::Matrix<Scalar, Dim, 1> VectorType;
54 typedef Eigen::Matrix<Scalar, Dim, Dim> MatrixType;
57 const VectorType &
pos = VectorType::Zero()
61 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
pos()
const {
return m_pos; }
63 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
pos() {
return m_pos; }
86 typedef _Scalar Scalar;
87 typedef Eigen::Matrix<Scalar, Dim, 1> VectorType;
88 typedef Eigen::Matrix<Scalar, Dim, Dim> MatrixType;
91 const Scalar* _interlacedArray,
const int _pId
92 ) : m_pos (Eigen::Map< const VectorType >(_interlacedArray + Dim*2*_pId )),
93 m_normal(Eigen::Map< const VectorType >(_interlacedArray + Dim*2*_pId+Dim))
97 PONCA_MULTIARCH [[nodiscard]]
inline const Eigen::Map< const VectorType >&
pos()
const {
return m_pos; }
99 PONCA_MULTIARCH [[nodiscard]]
inline const Eigen::Map< const VectorType >&
normal()
const {
return m_normal; }
102 const Eigen::Map< const VectorType > m_pos, m_normal;
122 typedef _Scalar Scalar;
123 typedef Eigen::Matrix<Scalar, Dim, 1> VectorType;
124 typedef Eigen::Matrix<Scalar, Dim, Dim> MatrixType;
127 : m_interlacedArray (_interlacedArray),
132 PONCA_MULTIARCH
inline void bind(Scalar* _interlacedArray) {
133 m_interlacedArray = _interlacedArray;
137 PONCA_MULTIARCH [[nodiscard]]
inline Eigen::Map< const VectorType >
pos()
const {
return Eigen::Map< const VectorType >(m_interlacedArray + Dim*2*m_id); }
139 PONCA_MULTIARCH [[nodiscard]]
inline Eigen::Map< const VectorType >
normal()
const {
return Eigen::Map< const VectorType >(m_interlacedArray + Dim*2*m_id+Dim); }
142 Scalar * m_interlacedArray;