11 #ifndef EIGEN_PARAMETRIZEDLINE_H 12 #define EIGEN_PARAMETRIZEDLINE_H 29 template <
typename _Scalar,
int _AmbientDim,
int _Options>
30 class ParametrizedLine
46 template<
int OtherOptions>
61 template <
int OtherOptions>
84 VectorType diff = p -
origin();
98 template <
int OtherOptions>
101 template <
int OtherOptions>
104 template <
int OtherOptions>
113 template<
typename XprType>
122 eigen_assert(0 &&
"invalid traits value in ParametrizedLine::transform()");
135 template<
int TrOptions>
149 template<
typename NewScalarType>
158 template<
typename OtherScalarType,
int OtherOptions>
161 m_origin = other.origin().template cast<Scalar>();
162 m_direction = other.direction().template cast<Scalar>();
170 {
return m_origin.isApprox(other.m_origin, prec) &&
m_direction.isApprox(other.m_direction, prec); }
181 template <
typename _Scalar,
int _AmbientDim,
int _Options>
182 template <
int OtherOptions>
192 template <
typename _Scalar,
int _AmbientDim,
int _Options>
201 template <
typename _Scalar,
int _AmbientDim,
int _Options>
202 template <
int OtherOptions>
213 template <
typename _Scalar,
int _AmbientDim,
int _Options>
214 template <
int OtherOptions>
222 template <
typename _Scalar,
int _AmbientDim,
int _Options>
223 template <
int OtherOptions>
232 #endif // EIGEN_PARAMETRIZEDLINE_H
EIGEN_DEVICE_FUNC Index dim() const
EIGEN_DEVICE_FUNC ~ParametrizedLine()
EIGEN_DEVICE_FUNC const VectorType & origin() const
EIGEN_DEVICE_FUNC ParametrizedLine(const VectorType &origin, const VectorType &direction)
void hyperplane(const HyperplaneType &_plane)
EIGEN_DEVICE_FUNC ParametrizedLine()
Namespace containing all symbols from the Eigen library.
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
EIGEN_DEVICE_FUNC Scalar intersection(const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) const
EIGEN_DEVICE_FUNC const VectorType & direction() const
EIGEN_DEVICE_FUNC VectorType pointAt(const Scalar &t) const
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(Scalar, Size)
EIGEN_DEVICE_FUNC internal::cast_return_type< ParametrizedLine, ParametrizedLine< NewScalarType, AmbientDimAtCompileTime, Options > >::type cast() const
Scalar EIGEN_BLAS_FUNC() dot(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
EIGEN_DEVICE_FUNC VectorType projection(const VectorType &p) const
Matrix< Scalar, AmbientDimAtCompileTime, 1, Options > VectorType
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
EIGEN_DEVICE_FUNC ConstNormalReturnType normal() const
EIGEN_DEVICE_FUNC ParametrizedLine(const ParametrizedLine< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > &other)
EIGEN_DEVICE_FUNC RealScalar squaredDistance(const VectorType &p) const
EIGEN_DEVICE_FUNC bool isApprox(const ParametrizedLine &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const
EIGEN_DEVICE_FUNC const Scalar & offset() const
#define EIGEN_DEVICE_FUNC
EIGEN_DEVICE_FUNC ParametrizedLine & transform(const Transform< Scalar, AmbientDimAtCompileTime, Affine, TrOptions > &t, TransformTraits traits=Affine)
EIGEN_DEVICE_FUNC ParametrizedLine(const ParametrizedLine< Scalar, AmbientDimAtCompileTime, OtherOptions > &other)
EIGEN_DEVICE_FUNC RealScalar distance(const VectorType &p) const
#define EIGEN_USING_STD(FUNC)
EIGEN_DEVICE_FUNC ParametrizedLine(Index _dim)
EIGEN_DEVICE_FUNC VectorType & direction()
NumTraits< Scalar >::Real RealScalar
Jet< T, N > sqrt(const Jet< T, N > &f)
static EIGEN_DEVICE_FUNC ParametrizedLine Through(const VectorType &p0, const VectorType &p1)
EIGEN_DEVICE_FUNC ParametrizedLine & transform(const MatrixBase< XprType > &mat, TransformTraits traits=Affine)
Base class for all dense matrices, vectors, and expressions.
EIGEN_DEVICE_FUNC VectorType intersectionPoint(const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) const
EIGEN_DEVICE_FUNC Scalar intersectionParameter(const Hyperplane< _Scalar, _AmbientDim, OtherOptions > &hyperplane) const
EIGEN_DEVICE_FUNC VectorType & origin()
#define EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(TYPE, SIZE)