MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ project_onto_plane()

void MayaFlux::Kinesis::project_onto_plane ( std::vector< glm::vec3 > &  vertices,
const glm::vec3 &  plane_point,
const glm::vec3 &  plane_normal 
)

Project vertices onto plane defined by normal.

Parameters
verticesVertices to project (modified in-place)
plane_pointPoint on projection plane
plane_normalPlane normal vector

Definition at line 445 of file GeometryPrimitives.cpp.

449{
450 glm::vec3 n = glm::normalize(plane_normal);
451
452 for (auto& vertex : vertices) {
453 glm::vec3 offset = vertex - plane_point;
454 float distance = glm::dot(offset, n);
455 vertex = vertex - distance * n;
456 }
457}