19 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
21 Triangle(
const Eigen::Vector2d &_v1 = Eigen::Vector2d(0, 0),
22 const Eigen::Vector2d &_v2 = Eigen::Vector2d(0, 0),
23 const Eigen::Vector2d &_v3 = Eigen::Vector2d(0, 0))
24 :
Shape(Eigen::Vector2d(0, 0)), v1_(_v1), v2_(_v2), v3_(_v3) {
26 compute_incircle_radius_and_center();
34 bool rayTrace(
const Eigen::Vector2d &point1,
const Eigen::Vector2d &point2,
35 std::vector<LineSegment> &intersect)
const override;
44 void print(std::ostringstream &stream)
const;
48 Eigen::Vector2d
v1()
const;
49 Eigen::Vector2d
v2()
const;
50 Eigen::Vector2d
v3()
const;
51 Eigen::Vector2d
center()
const;
60 void set_v1(
const Eigen::Vector2d &_v1);
61 void set_v2(
const Eigen::Vector2d &_v2);
62 void set_v3(
const Eigen::Vector2d &_v3);
68 std::vector<LineSegment>
segments(
void)
const {
return segments_; };
77 std::vector<LineSegment> segments_;
79 Eigen::Vector2d compute_center();
80 void compute_incircle_radius_and_center();
89 double incircle_radius_;
90 Eigen::Vector2d incenter_;
void set_center(const Eigen::Vector2d &_center)
Set geometric center of shape.
std::vector< LineSegment > segments(void) const
Eigen::Vector2d v2() const
double incircle_radius() const
Eigen::Vector2d v1() const
Eigen::Vector2d v3() const
void set_v2(const Eigen::Vector2d &_v2)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Triangle(const Eigen::Vector2d &_v1=Eigen::Vector2d(0, 0), const Eigen::Vector2d &_v2=Eigen::Vector2d(0, 0), const Eigen::Vector2d &_v3=Eigen::Vector2d(0, 0))
void print(std::ostringstream &stream) const
Print all parameters of the shape.
std::shared_ptr< Triangle > TrianglePtr
void set_v1(const Eigen::Vector2d &_v1)
Eigen::Vector2d center() const
Base prototype for the shape of an obstacle.
void set_v3(const Eigen::Vector2d &_v3)
ShapeType type() const
Get shape type.
virtual CollisionObjectType getCollisionObjectType() const override
Eigen::Vector2d incenter() const
std::shared_ptr< const Triangle > TriangleConstPtr
bool rayTrace(const Eigen::Vector2d &point1, const Eigen::Vector2d &point2, std::vector< LineSegment > &intersect) const override