API Documentation
Loading...
Searching...
No Matches
Extruder Class Reference

#include <Extruder.h>

Static Public Member Functions

static void ExtrudeRealThickness (Geometry &linework, const Matrix< fltp08 > &transform=Matrix< fltp08 >(1.0))
 
static void ExtrudePolylineAlongGeo (Geometry &linework, const Polyline< 3, fltp08 > &geo_line, const Matrix< fltp08 > &transform=Matrix< fltp08 >(1.0))
 
template<class t_type >
static void Extrude (Buffer< Vector< 3, uint04 > > &indices, Buffer< Vertex< 3, t_type > > &vertices, const Polyline< 3, t_type > &shape_to_extrude, const Polyline< 3, t_type > &extrude_path, const Vector< 3, t_type > &plane_normal, bool is_path_closed, const Matrix< fltp08 > &transform=Matrix< fltp08 >(1.0))
 

Detailed Description


Class: Extruder

Class containing static functions that define logic to extrude shapes along some given polyline

Author: Tyler Parke

Date: 2019-01-14

Member Function Documentation

◆ Extrude()

template<class t_type >
static void Extrude ( Buffer< Vector< 3, uint04 > > & indices,
Buffer< Vertex< 3, t_type > > & vertices,
const Polyline< 3, t_type > & shape_to_extrude,
const Polyline< 3, t_type > & extrude_path,
const Vector< 3, t_type > & plane_normal,
bool is_path_closed,
const Matrix< fltp08 > & transform = Matrix<fltp08>(1.0) )
inlinestatic

Fn: void Extruder::Extrude(Geometry& mesh, const Buffer<std::pair<Polyline<3, t_type>, bool>>& shape_to_extrude , const Polyline<3, t_type>& extrude_path, const Vector<3, t_type>& plane_normal, bool is_path_closed) const

Given a linework geometry, extrudes a shape along the provided path to create a triangulated solid. Note that the winding of the final shape will be the same as the given shape to extrude. Reversing the vertices of this shape will reverse the winding order of the final solid. Note that passing a path which fully lies in plane whos normal is perpendicular to the given plane normal will result in undefined behavior

Author: Tyler Parke

Date: 2019-01-14

Parameters: mesh - The geometry which will store, in its solid index, the extruded shape. shape_to_extrude - The shape (Be it closed or not) to extrude. extrude_path - The path the shape will be extruded along. It is expected this path is simplified (no 2 neighbor vertices are the same) plane_normal - The 'up' dirrection used to relate the path with the given shape to extrude. Generally this vector is (0,0,1) is_path_closed - If the extrude path is closed (ie the last vertex in path should be connected to the

first vertex in path)

◆ ExtrudePolylineAlongGeo()

static void ExtrudePolylineAlongGeo ( Geometry & linework,
const Polyline< 3, fltp08 > & geo_line,
const Matrix< fltp08 > & transform = Matrix<fltp08>(1.0) )
inlinestatic

Fn: void Extruder::ExtrudeRealThickness(Geometry& mesh) const

Given a linework geometry, extrudes the given polyline along that linework

Author: Tyler Parke

Date: 2019-01-14

Parameters: linework - The linework whos geometrytype must be of type linework and will store the extrusion. Upon completion of this function, the Solid index channel of this object will be filled with

vertices and indices of the polyline extruded across the linework

◆ ExtrudeRealThickness()

static void ExtrudeRealThickness ( Geometry & linework,
const Matrix< fltp08 > & transform = Matrix<fltp08>(1.0) )
inlinestatic

Fn: void Extruder::ExtrudeRealThickness(Geometry& geo) const

Given a linework geometry, extrudes a flat line alog the path in order to create a "ribbon" with a flat apperence and a thickness defined by geometryproperty Geometry::e_thickness

Author: Tyler Parke

Date: 2019-01-14

Parameters: linework - The linework whos geometrytype must be of type linework, and must have some valid > 0.0 real thickness. Upon completion of this function, the Solid index channel of this object will be filled with

vertices and indices relating to the object's real thickness.


The documentation for this class was generated from the following file: