13 template <
typename SCALAR>
17 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
30 Ellipsoid(
const Vector3s&
x0,
const Matrix3s&
A,
const Matrix3s&
S) : x0_(x0), A_(A), S_(S) {}
42 return (x - x0_).transpose() * S_ * A_.transpose() * A_ * S_.transpose() * (x - x0_) -
SCALAR(1.0);
45 const Vector3s&
x0()
const {
return x0_; }
46 Vector3s&
x0() {
return x0_; }
47 const Matrix3s&
A()
const {
return A_; }
48 Matrix3s&
A() {
return A_; }
49 const Matrix3s&
S()
const {
return S_; }
50 Matrix3s&
S() {
return S_; }
void setFromQuaterion(const Quaternions &quat)
Definition: Ellipsoid.h:31
Definition: Ellipsoid.h:14
SCALAR insideEllipsoid(const Vector3s &x)
Returns a value =< 1 if point x is inside the ellpsoid, > 1 otherwise.
Definition: Ellipsoid.h:40
const Vector3s & x0() const
Definition: Ellipsoid.h:45
const Matrix3s & S() const
Definition: Ellipsoid.h:49
Eigen::Quaternion< SCALAR > Quaternions
Definition: Ellipsoid.h:21
CppAD::AD< CppAD::cg::CG< double > > SCALAR
Eigen::Matrix< SCALAR, 3, 3 > Matrix3s
Definition: Ellipsoid.h:20
Ellipsoid(const Vector3s &x0, const Matrix3s &A, const Matrix3s &S)
Default constructor.
Definition: Ellipsoid.h:30
Vector3s & x0()
Definition: Ellipsoid.h:46
const Matrix3s & A() const
Definition: Ellipsoid.h:47
Matrix3s & S()
Definition: Ellipsoid.h:50
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix< SCALAR, 3, 1 > Vector3s
Definition: Ellipsoid.h:19
Matrix3s & A()
Definition: Ellipsoid.h:48