geolib2
src
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
13
Triangle::~Triangle
() {
14
}
15
16
double
Triangle::area
()
const
{
17
return
triangleArea
(
p1
(),
p2
(),
p3
());
18
}
19
20
std::ostream
&
operator<<
(
std::ostream
& out,
const
Triangle
& t) {
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
Generated on Sun Feb 23 2025 04:33:29 for geolib2 by
1.8.17