23#ifndef VCL_ALGORITHMS_CORE_VISIBILITY_H
24#define VCL_ALGORITHMS_CORE_VISIBILITY_H
26#include <vclib/concepts/space/plane.h>
27#include <vclib/concepts/space/point.h>
28#include <vclib/concepts/space/triangle.h>
29#include <vclib/space/core/triangle_wrapper.h>
46template<Triangle3Concept TriangleType, Po
int3Concept Po
intType>
67template<FaceConcept FaceType, Po
int3Concept Po
intType>
75 face.vertex(0)->coord(),
76 face.vertex(1)->coord(),
77 face.vertex(2)->coord(),
97template<Po
int3Concept Po
intType>
119template<Po
int3Concept Po
intType>
141template<Triangle3Concept TriangleType, Po
int3Concept Po
intType>
144 const PointType& point)
162template<Po
int3Concept Po
intType>
184template<FaceConcept FaceType, Po
int3Concept Po
intType>
A class representing a line segment in n-dimensional space. The class is parameterized by a PointConc...
Definition segment.h:43
The TriangleWrapper class is a wrapper around a N-Dimensional triangle.
Definition triangle_wrapper.h:54
bool facePointVisibility(const FaceType &face, const PointType &point)
Checks if a point is visible from a face, i.e., if the point is in the half-space defined by the face...
Definition visibility.h:185
auto halfSpaceDeterminant(const TriangleType &triangle, const PointType &point)
Compute the determinant of the half-space defined by the triangle and the point.
Definition visibility.h:47
bool trianglePointVisibility(const TriangleType &triangle, const PointType &point)
Checks if a point is visible from a triangle, i.e., if the point is in the half-space defined by the ...
Definition visibility.h:142
bool arePointsCoplanar(const PointType &p1, const PointType &p2, const PointType &p3, const PointType &p4)
Checks if 4 points are coplanar.
Definition visibility.h:120