cgv
Loading...
Searching...
No Matches
cgv::math::quadratic_bezier_tube< T > Class Template Reference

Public Types

using vec_type = fvec< T, 3 >
 
using matrix_type = fmat< T, 4, 4 >
 
using node_type = bezier_tube_node< T >
 

Public Member Functions

template<typename ParamT = float>
node_type evaluate (ParamT t) const
 
template<typename ParamT = float>
node_type derivative (ParamT t) const
 
template<typename ParamT = float>
std::vector< node_typesample (size_t num_segments) const
 
std::pair< vec_type, vec_typeaxis_aligned_bounding_box () const
 
oriented_box3< T > oriented_bounding_box () const
 
std::pair< T, T > signed_distance (const vec_type &pos) const
 
matrix_type calculate_transformation_matrix () const
 

Public Attributes

node_type n0
 
node_type n1
 
node_type n2
 

Detailed Description

template<typename T>
class cgv::math::quadratic_bezier_tube< T >

Definition at line 17 of file bezier_tube.h.

Member Typedef Documentation

◆ matrix_type

template<typename T >
using cgv::math::quadratic_bezier_tube< T >::matrix_type = fmat<T, 4, 4>

Definition at line 20 of file bezier_tube.h.

◆ node_type

template<typename T >
using cgv::math::quadratic_bezier_tube< T >::node_type = bezier_tube_node<T>

Definition at line 21 of file bezier_tube.h.

◆ vec_type

template<typename T >
using cgv::math::quadratic_bezier_tube< T >::vec_type = fvec<T, 3>

Definition at line 19 of file bezier_tube.h.

Member Function Documentation

◆ axis_aligned_bounding_box()

template<typename T >
std::pair< vec_type, vec_type > cgv::math::quadratic_bezier_tube< T >::axis_aligned_bounding_box ( ) const
inline

Definition at line 54 of file bezier_tube.h.

◆ calculate_transformation_matrix()

template<typename T >
matrix_type cgv::math::quadratic_bezier_tube< T >::calculate_transformation_matrix ( ) const
inline

Definition at line 114 of file bezier_tube.h.

◆ derivative()

template<typename T >
template<typename ParamT = float>
node_type cgv::math::quadratic_bezier_tube< T >::derivative ( ParamT  t) const
inline

Definition at line 39 of file bezier_tube.h.

◆ evaluate()

template<typename T >
template<typename ParamT = float>
node_type cgv::math::quadratic_bezier_tube< T >::evaluate ( ParamT  t) const
inline

Definition at line 31 of file bezier_tube.h.

◆ oriented_bounding_box()

template<typename T >
oriented_box3< T > cgv::math::quadratic_bezier_tube< T >::oriented_bounding_box ( ) const
inline

Definition at line 70 of file bezier_tube.h.

◆ sample()

template<typename T >
template<typename ParamT = float>
std::vector< node_type > cgv::math::quadratic_bezier_tube< T >::sample ( size_t  num_segments) const
inline

Definition at line 47 of file bezier_tube.h.

◆ signed_distance()

template<typename T >
std::pair< T, T > cgv::math::quadratic_bezier_tube< T >::signed_distance ( const vec_type pos) const
inline

Definition at line 102 of file bezier_tube.h.

Member Data Documentation

◆ n0

template<typename T >
node_type cgv::math::quadratic_bezier_tube< T >::n0

Definition at line 24 of file bezier_tube.h.

◆ n1

template<typename T >
node_type cgv::math::quadratic_bezier_tube< T >::n1

Definition at line 26 of file bezier_tube.h.

◆ n2

template<typename T >
node_type cgv::math::quadratic_bezier_tube< T >::n2

Definition at line 28 of file bezier_tube.h.


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