Visual Computing Library
Loading...
Searching...
No Matches
vcl::TriangleConcept Concept Reference

Concept for types representing triangles in Euclidean space. More...

#include <vclib/concepts/space/triangle.h>

Concept definition

template<typename T>
concept vcl::TriangleConcept = requires (
T&& obj,
typename RemoveRef<T>::PointType p,
typename RemoveRef<T>::ScalarType s) {
typename RemoveRef<T>::ScalarType;
typename RemoveRef<T>::PointType;
obj.DIM;
obj.size() == 3;
RemoveRef<T>(p, p, p);
{ obj.point(uint()) } -> PointConcept;
{ obj.sideLength(uint()) } -> std::same_as<decltype(s)>;
{ obj.barycenter() } -> PointConcept;
{ obj.perimeter() } -> std::same_as<decltype(s)>;
{ obj.area() } -> std::same_as<decltype(s)>;
}
A class representing a line segment in n-dimensional space. The class is parameterized by a PointConc...
Definition segment.h:43
Concept for types representing points in Euclidean space.
Definition point.h:40
Concept for types representing triangles in Euclidean space.
Definition triangle.h:38

Detailed Description

Concept for types representing triangles in Euclidean space.