44 Ray(Eigen::Vector3d
p1, Eigen::Vector3d
p2);
47 Eigen::Vector3d point1;
48 Eigen::Vector3d point2;
56 const Eigen::Vector3d
p1()
const;
62 const Eigen::Vector3d
p2()
const;
80 static Ray twopointCast(Eigen::Vector3d pointFrom, Eigen::Vector3d pointTo);
119 Triangle(Eigen::Vector3d
a, Eigen::Vector3d
b, Eigen::Vector3d
c);
122 Eigen::Vector3d point1;
123 Eigen::Vector3d point2;
124 Eigen::Vector3d point3;
132 const Eigen::Vector3d
a()
const;
139 const Eigen::Vector3d
b()
const;
146 const Eigen::Vector3d
c()
const;
153 const Eigen::Vector3d
center()
const;
161 const Eigen::Vector3d
normal()
const;
168 const std::vector<Eigen::Vector3d>
vertices()
const;
179 const std::optional<Eigen::Vector3d>
intersectionRay(
Ray r,
double epsilon = 1e-4)
const;
206 Rectangle(std::vector<Eigen::Vector3d> points);
216 Rectangle(Eigen::Vector3d
a, Eigen::Vector3d
b, Eigen::Vector3d
c, Eigen::Vector3d
d);
219 Eigen::Vector3d point1;
220 Eigen::Vector3d point2;
221 Eigen::Vector3d point3;
222 Eigen::Vector3d point4;
230 const Eigen::Vector3d
a()
const;
237 const Eigen::Vector3d
b()
const;
244 const Eigen::Vector3d
c()
const;
251 const Eigen::Vector3d
d()
const;
258 const Eigen::Vector3d
center()
const;
266 const Eigen::Vector3d
normal()
const;
273 const std::vector<Eigen::Vector3d>
vertices()
const;
280 const std::vector<Triangle>
triangles()
const;
290 const std::optional<Eigen::Vector3d>
intersectionRay(
Ray r,
double epsilon = 1e-4)
const;
299 bool isFacing(Eigen::Vector3d point)
const;
343 Cuboid(Eigen::Vector3d p0, Eigen::Vector3d p1, Eigen::Vector3d p2, Eigen::Vector3d p3, Eigen::Vector3d p4, Eigen::Vector3d p5, Eigen::Vector3d p6,
350 Cuboid(std::vector<Eigen::Vector3d> points);
359 Cuboid(Eigen::Vector3d
center, Eigen::Vector3d size, Eigen::Quaterniond orientation);
376 std::vector<Eigen::Vector3d> points;
385 std::vector<Eigen::Vector3d> lookupPoints(
int face_idx)
const;
393 const std::vector<Eigen::Vector3d>
vertices()
const;
400 const Eigen::Vector3d
center()
const;
419 const std::vector<Eigen::Vector3d>
intersectionRay(
Ray r,
double epsilon = 1e-4)
const;
453 Eigen::Vector3d center_point;
454 Eigen::Quaterniond absolute_orientation;
476 const Eigen::Vector3d
center()
const;
515 Eigen::Vector3d center_point;
518 Eigen::Quaterniond absolute_orientation;
536 const Eigen::Vector3d
center()
const;
595 Cone(Eigen::Vector3d origin_point,
double angle,
double height, Eigen::Vector3d orientation);
598 Eigen::Vector3d origin_point;
601 Eigen::Vector3d absolute_direction;
609 const Eigen::Vector3d
origin()
const;
623 const Eigen::Vector3d
center()
const;
630 double theta()
const;
653 const std::optional<Eigen::Vector3d>
projectPoint(
const Eigen::Vector3d& point)
const;
geometric representaiton of a cone
Definition shapes.h:575
const Eigen::Vector3d center() const
getter for the center point. Center point lies in half of the body height
Definition shapes.cpp:585
Cone()
constructor without setting the internal variables
Definition shapes.cpp:557
const Ellipse getCap() const
getter for the cap of the cone
Definition shapes.cpp:600
double h() const
getter for body height
Definition shapes.cpp:595
const Eigen::Vector3d origin() const
getter for the tip point
Definition shapes.cpp:575
double theta() const
getter for angle between body height and body side
Definition shapes.cpp:590
const std::optional< Eigen::Vector3d > projectPoint(const Eigen::Vector3d &point) const
Project a 3D point orthogonally onto the Cone surface.
Definition shapes.cpp:609
const Eigen::Vector3d direction() const
getter for the direction. Normalized direction from origin towards base
Definition shapes.cpp:580
~Cone()
destructor
Definition shapes.cpp:561
geometric representation of a cuboid
Definition shapes.h:319
Cuboid()
constructor for initialization with all points set to [0,0,0]
Definition shapes.cpp:295
const Rectangle getRectangle(int face_idx) const
getter for one side corresponding to a provided index
Definition shapes.cpp:411
~Cuboid()
virtual destructor
Definition shapes.cpp:353
const Eigen::Vector3d center() const
getter for the center point
Definition shapes.cpp:416
const std::vector< Eigen::Vector3d > intersectionRay(Ray r, double epsilon=1e-4) const
calculate the intersection between this cuboid and a provided ray within a given tolerance....
Definition shapes.cpp:428
const std::vector< Eigen::Vector3d > vertices() const
getter for all vertices (vector3) of this cuboid
Definition shapes.cpp:406
geometric representation of a cylinder
Definition shapes.h:492
double h() const
getter for the body height
Definition shapes.cpp:527
const Eigen::Vector3d center() const
getter for the center point
Definition shapes.cpp:512
const Ellipse getCap(int index) const
getter for a cap corresponding to a provided index
Definition shapes.cpp:532
~Cylinder()
destructor
Definition shapes.cpp:498
double r() const
getter for cap radius
Definition shapes.cpp:522
const Eigen::Quaterniond orientation() const
getter for the orientation
Definition shapes.cpp:517
Cylinder()
constructor without setting the internal variables
Definition shapes.cpp:494
geometric representation of an ellipse
Definition shapes.h:428
const Eigen::Vector3d center() const
getter for the center point
Definition shapes.cpp:477
const Eigen::Quaterniond orientation() const
getter for the orientation
Definition shapes.cpp:482
~Ellipse()
destructor
Definition shapes.cpp:453
double b() const
getter for minor semi-axis
Definition shapes.cpp:472
Ellipse()
constructor for initialization without setting internal variables
Definition shapes.cpp:449
double a() const
getter for major semi-axis
Definition shapes.cpp:467
geometric representation of a ray. Instantiate it by two input Vector3. Use static methods for from-t...
Definition shapes.h:26
const Eigen::Vector3d direction() const
get the direction of ray (normalized)
Definition shapes.cpp:41
static Ray twopointCast(Eigen::Vector3d pointFrom, Eigen::Vector3d pointTo)
static method for generating new rays by raycasting from-to
Definition shapes.cpp:48
const Eigen::Vector3d p2() const
get the end point
Definition shapes.cpp:36
const Eigen::Vector3d p1() const
get the origin point
Definition shapes.cpp:31
Ray()
constructor without initialization of internal variables
Definition shapes.cpp:13
static Ray directionCast(Eigen::Vector3d origin, Eigen::Vector3d direction)
static method for generating new rays by raycasting origin-direction
Definition shapes.cpp:53
~Ray()
destructor
Definition shapes.cpp:25
geometric representation of a rectangle (can represent any quadrilateral)
Definition shapes.h:189
const std::vector< Eigen::Vector3d > vertices() const
getter for all the points of this rectangle provided as std::vector
Definition shapes.cpp:224
const std::optional< Eigen::Vector3d > intersectionRay(Ray r, double epsilon=1e-4) const
calculate an intersection of this rectangle with a given ray with given tolerance
Definition shapes.cpp:247
const std::vector< Triangle > triangles() const
getter for the triangles forming this rectangle
Definition shapes.cpp:234
const Eigen::Vector3d a() const
getter for first point
Definition shapes.cpp:192
const Eigen::Vector3d normal() const
getter for the normal vector. It originates in the center of the Rectangle, length is normalized,...
Definition shapes.cpp:217
bool isFacing(Eigen::Vector3d point) const
check if the normal is facing a given point, i.e. if the point lies in the same half-space as the rec...
Definition shapes.cpp:261
~Rectangle()
destructor
Definition shapes.cpp:186
double solidAngleRelativeTo(Eigen::Vector3d point) const
compute the solid angle of this rectangle relative to a given sphere center
Definition shapes.cpp:271
const Eigen::Vector3d b() const
getter for the second point
Definition shapes.cpp:197
const Eigen::Vector3d c() const
getter for the third point
Definition shapes.cpp:202
const Eigen::Vector3d center() const
getter for center point
Definition shapes.cpp:212
const Eigen::Vector3d d() const
getter for the fourth point
Definition shapes.cpp:207
Rectangle()
constructor for initialization with points set to [0,0,0], [1,0,0], [1,1,0] and [0,...
Definition shapes.cpp:162
geometric representation of a triangle. Instantiate a new triangle by providing three vertices
Definition shapes.h:100
Triangle()
constructor for initialization with default values (points [0,0,0], [1,0,0] and [0,...
Definition shapes.cpp:64
const Eigen::Vector3d center() const
get position on the triangle center
Definition shapes.cpp:106
const std::optional< Eigen::Vector3d > intersectionRay(Ray r, double epsilon=1e-4) const
calculate an intersection of this triangle with a given ray with given tolerance
Definition shapes.cpp:122
const Eigen::Vector3d b() const
getter for second point
Definition shapes.cpp:89
const Eigen::Vector3d a() const
getter for first point
Definition shapes.cpp:84
const Eigen::Vector3d normal() const
get normal vector of this triangle. The vector origin is placed at triangle center,...
Definition shapes.cpp:99
~Triangle()
destructor
Definition shapes.cpp:78
const std::vector< Eigen::Vector3d > vertices() const
get a vector of all vertices
Definition shapes.cpp:111
const Eigen::Vector3d c() const
getter for third point
Definition shapes.cpp:94
All mrs_lib functions, classes, variables and definitions are contained in this namespace.
Definition attitude_converter.h:24