List of Core algorithms.
More...
|
template<Triangle3Concept TriangleType, Point3Concept PointType> |
auto | vcl::halfSpaceDeterminant (const TriangleType &triangle, const PointType &point) |
| Compute the determinant of the half-space defined by the triangle and the point.
|
|
template<FaceConcept FaceType, Point3Concept PointType> |
auto | vcl::halfSpaceDeterminant (const FaceType &face, const PointType &point) |
| Compute the determinant of the half-space defined by the triangle and the point.
|
|
template<Point3Concept PointType> |
auto | vcl::halfSpaceDeterminant (const PointType &p1, const PointType &p2, const PointType &p3, const PointType &p) |
| Compute the determinant of the half-space defined by the triangle (p1, p2, p3) and the point p.
|
|
template<Point3Concept PointType> |
bool | vcl::arePointsCoplanar (const PointType &p1, const PointType &p2, const PointType &p3, const PointType &p4) |
| Checks if 4 points are coplanar.
|
|
template<Triangle3Concept TriangleType, Point3Concept PointType> |
bool | vcl::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 triangle.
|
|
template<Point3Concept PointType> |
auto | vcl::trianglePointVisibility (const PointType &p1, const PointType &p2, const PointType &p3, const PointType &p) |
| Checks if a point is visible from a triangle, i.e., if the point is in the half-space defined by the triangle.
|
|
template<FaceConcept FaceType, Point3Concept PointType> |
bool | vcl::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.
|
|
List of Core algorithms.
In this module, you can find the core algorithms of VCLib, that generally involve simple geometric primitives, like points, vectors, and matrices.
You can access these algorithms by including #include <vclib/algorithms/core.h>
◆ arePointsCoplanar()
template<Point3Concept PointType>
Checks if 4 points are coplanar.
- Template Parameters
-
PointType | The type of the points. |
- Parameters
-
[in] | p1 | First point to test. |
[in] | p2 | Second point to test. |
[in] | p3 | Third point to test. |
[in] | p4 | Fourth point to test. |
- Returns
- True if the points are coplanar, false otherwise.
◆ facePointVisibility()
template<FaceConcept FaceType, Point3Concept PointType>
bool vcl::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.
- Template Parameters
-
FaceType | The type of the face. |
PointType | The type of the point. |
- Parameters
-
[in] | face | The input face. |
[in] | point | The point to test. |
- Returns
- true if the point is visible from the face, false otherwise.
◆ halfSpaceDeterminant() [1/3]
template<FaceConcept FaceType, Point3Concept PointType>
auto vcl::halfSpaceDeterminant |
( |
const FaceType & |
face, |
|
|
const PointType & |
point |
|
) |
| |
Compute the determinant of the half-space defined by the triangle and the point.
- Template Parameters
-
FaceType | The type of the face that defines the half-space. |
PointType | The type of the point to test. |
- Parameters
-
[in] | face | The face that defines the half-space. |
[in] | point | The point to test. |
- Returns
- The determinant of the half-space.
◆ halfSpaceDeterminant() [2/3]
template<Point3Concept PointType>
auto vcl::halfSpaceDeterminant |
( |
const PointType & |
p1, |
|
|
const PointType & |
p2, |
|
|
const PointType & |
p3, |
|
|
const PointType & |
p |
|
) |
| |
Compute the determinant of the half-space defined by the triangle (p1, p2, p3) and the point p.
The triangle is defined by the points p1, p2, and p3, ordered in a counter-clockwise manner.
- Template Parameters
-
PointType | The type of the points. |
- Parameters
-
[in] | p1 | The first point of the triangle. |
[in] | p2 | The second point of the triangle. |
[in] | p3 | The third point of the triangle. |
[in] | p | The point to test. |
- Returns
- The determinant of the half-space.
◆ halfSpaceDeterminant() [3/3]
template<Triangle3Concept TriangleType, Point3Concept PointType>
Compute the determinant of the half-space defined by the triangle and the point.
- Template Parameters
-
TriangleType | The type of the triangle that defines the half-space. |
PointType | The type of the point to test. |
- Parameters
-
[in] | triangle | The triangle that defines the half-space. |
[in] | p | The point to test. |
- Returns
- The determinant of the half-space.
◆ trianglePointVisibility() [1/2]
template<Point3Concept PointType>
auto vcl::trianglePointVisibility |
( |
const PointType & |
p1, |
|
|
const PointType & |
p2, |
|
|
const PointType & |
p3, |
|
|
const PointType & |
p |
|
) |
| |
Checks if a point is visible from a triangle, i.e., if the point is in the half-space defined by the triangle.
- Template Parameters
-
PointType | The type of the points. |
- Parameters
-
[in] | p1 | The first point of the triangle. |
[in] | p2 | The second point of the triangle. |
[in] | p3 | The third point of the triangle. |
[in] | p | The point to test. |
- Returns
- true if the point is visible from the triangle, false otherwise.
◆ trianglePointVisibility() [2/2]
template<Triangle3Concept TriangleType, Point3Concept PointType>
Checks if a point is visible from a triangle, i.e., if the point is in the half-space defined by the triangle.
- Template Parameters
-
TriangleType | The type of the triangle. |
PointType | The type of the point. |
- Parameters
-
[in] | triangle | The input triangle. |
[in] | point | The point to test. |
- Returns
- true if the point is visible from the triangle, false otherwise.