geolib2
Triangle.cpp
Go to the documentation of this file.
1 #include "geolib/Triangle.h"
2 
3 namespace geo {
4 
5 double triangleArea(const Vector3& p1, const Vector3& p2, const Vector3& p3)
6 {
7  return 0.5 * ((p1-p2).cross(p1-p3)).length();
8 }
9 
10 Triangle::Triangle(const Vector3& p1_, const Vector3& p2_, const Vector3& p3_) : m({p1_, p2_, p3_}) {
11 }
12 
14 }
15 
16 double Triangle::area() const {
17  return triangleArea(p1(), p2(), p3());
18 }
19 
21  out << "Triangle: [" << std::endl << "p1: " << t[0] << std::endl << "p2: " << t[1] << std::endl << "p3: " << t[2] << "]";
22  return out;
23 }
24 
25 }
geo::Triangle::p2
geo::Vector3 & p2()
Definition: Triangle.h:22
geo
Definition: Box.h:6
geo::Triangle::~Triangle
virtual ~Triangle()
Definition: Triangle.cpp:13
t
Timer t
geo::Triangle::p1
geo::Vector3 & p1()
Definition: Triangle.h:18
geo::triangleArea
double triangleArea(const Vector3 &p1, const Vector3 &p2, const Vector3 &p3)
Definition: Triangle.cpp:5
std::ostream
geo::Triangle
Definition: Triangle.h:10
geo::Triangle::p3
geo::Vector3 & p3()
Definition: Triangle.h:26
Triangle.h
geo::Vector3
Definition: matrix.h:12
geo::operator<<
std::ostream & operator<<(std::ostream &out, const Triangle &t)
Definition: Triangle.cpp:20
std::endl
T endl(T... args)
geo::Triangle::Triangle
Triangle(const Vector3 &p1_, const Vector3 &p2_, const Vector3 &p3_)
Definition: Triangle.cpp:10
geo::Triangle::area
double area() const
Definition: Triangle.cpp:16