24 typedef _Scalar Scalar;
25 typedef Eigen::Matrix<Scalar, Dim, 1> VectorType;
26 typedef Eigen::Matrix<Scalar, Dim, Dim> MatrixType;
29 const VectorType &
pos = VectorType::Zero(),
30 const VectorType&
normal = VectorType::Zero()
34 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
pos()
const {
return m_pos; }
36 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
normal()
const {
return m_normal; }
38 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
pos() {
return m_pos; }
40 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
normal() {
return m_normal; }
43 VectorType m_pos, m_normal;
54 typedef _Scalar Scalar;
55 typedef Eigen::Matrix<Scalar, Dim, 1> VectorType;
56 typedef Eigen::Matrix<Scalar, Dim, Dim> MatrixType;
59 const VectorType &
pos = VectorType::Zero()
63 PONCA_MULTIARCH [[nodiscard]]
inline const VectorType&
pos()
const {
return m_pos; }
65 PONCA_MULTIARCH [[nodiscard]]
inline VectorType&
pos() {
return m_pos; }
88 typedef _Scalar Scalar;
89 typedef Eigen::Matrix<Scalar, Dim, 1> VectorType;
90 typedef Eigen::Matrix<Scalar, Dim, Dim> MatrixType;
93 const Scalar* _interlacedArray,
const int _pId
94 ) : m_pos (Eigen::Map< const VectorType >(_interlacedArray + Dim*2*_pId )),
95 m_normal(Eigen::Map< const VectorType >(_interlacedArray + Dim*2*_pId+Dim))
99 PONCA_MULTIARCH [[nodiscard]]
inline const Eigen::Map< const VectorType >&
pos()
const {
return m_pos; }
101 PONCA_MULTIARCH [[nodiscard]]
inline const Eigen::Map< const VectorType >&
normal()
const {
return m_normal; }
104 const Eigen::Map< const VectorType > m_pos, m_normal;
124 typedef _Scalar Scalar;
125 typedef Eigen::Matrix<Scalar, Dim, 1> VectorType;
126 typedef Eigen::Matrix<Scalar, Dim, Dim> MatrixType;
129 : m_interlacedArray (_interlacedArray),
134 PONCA_MULTIARCH
inline void bind(Scalar* _interlacedArray) {
135 m_interlacedArray = _interlacedArray;
139 PONCA_MULTIARCH [[nodiscard]]
inline Eigen::Map< const VectorType >
pos()
const {
return Eigen::Map< const VectorType >(m_interlacedArray + Dim*2*m_id); }
141 PONCA_MULTIARCH [[nodiscard]]
inline Eigen::Map< const VectorType >
normal()
const {
return Eigen::Map< const VectorType >(m_interlacedArray + Dim*2*m_id+Dim); }
144 Scalar * m_interlacedArray;