mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-07-10 15:11:50 +08:00
fix constness of intersection methods (bug #309)
(transplanted from c98cd5e564f75be2edc7c5d18491058d025fa796 )
This commit is contained in:
parent
d03bbcbcbc
commit
a99ea69b32
@ -189,7 +189,7 @@ public:
|
|||||||
*
|
*
|
||||||
* \note If \a other is approximately parallel to *this, this method will return any point on *this.
|
* \note If \a other is approximately parallel to *this, this method will return any point on *this.
|
||||||
*/
|
*/
|
||||||
VectorType intersection(const Hyperplane& other)
|
VectorType intersection(const Hyperplane& other) const
|
||||||
{
|
{
|
||||||
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(VectorType, 2)
|
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(VectorType, 2)
|
||||||
Scalar det = coeffs().coeff(0) * other.coeffs().coeff(1) - coeffs().coeff(1) * other.coeffs().coeff(0);
|
Scalar det = coeffs().coeff(0) * other.coeffs().coeff(1) - coeffs().coeff(1) * other.coeffs().coeff(0);
|
||||||
|
@ -107,7 +107,7 @@ public:
|
|||||||
{ return origin() + direction().dot(p-origin()) * direction(); }
|
{ return origin() + direction().dot(p-origin()) * direction(); }
|
||||||
|
|
||||||
template <int OtherOptions>
|
template <int OtherOptions>
|
||||||
Scalar intersection(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane);
|
Scalar intersection(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane) const;
|
||||||
|
|
||||||
/** \returns \c *this with scalar type casted to \a NewScalarType
|
/** \returns \c *this with scalar type casted to \a NewScalarType
|
||||||
*
|
*
|
||||||
@ -159,7 +159,7 @@ inline ParametrizedLine<_Scalar, _AmbientDim,_Options>::ParametrizedLine(const H
|
|||||||
*/
|
*/
|
||||||
template <typename _Scalar, int _AmbientDim, int _Options>
|
template <typename _Scalar, int _AmbientDim, int _Options>
|
||||||
template <int OtherOptions>
|
template <int OtherOptions>
|
||||||
inline _Scalar ParametrizedLine<_Scalar, _AmbientDim,_Options>::intersection(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane)
|
inline _Scalar ParametrizedLine<_Scalar, _AmbientDim,_Options>::intersection(const Hyperplane<_Scalar, _AmbientDim, OtherOptions>& hyperplane) const
|
||||||
{
|
{
|
||||||
return -(hyperplane.offset()+hyperplane.normal().dot(origin()))
|
return -(hyperplane.offset()+hyperplane.normal().dot(origin()))
|
||||||
/ hyperplane.normal().dot(direction());
|
/ hyperplane.normal().dot(direction());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user