Code-Eli
0.3.6
|
#include <bezier.hpp>
Public Types | |
typedef unsigned short | dimension_type |
typedef data__ | data_type |
typedef Eigen::Matrix< data_type, 1, dim__ > | point_type |
typedef point_type | control_point_type |
typedef control_point_type::Index | index_type |
typedef tol__ | tolerance_type |
typedef Eigen::Matrix< data_type, dim__, dim__ > | rotation_matrix_type |
typedef eli::geom::general::bounding_box< data_type, dim__, tolerance_type > | bounding_box_type |
typedef eli::geom::curve::bezier< data_type, dim__, tolerance_type > | curve_type |
Public Member Functions | |
bezier () | |
bezier (const index_type &u_dim, const index_type &v_dim) | |
bezier (const bezier< data_type, dim__, tol__ > &bs) | |
~bezier () | |
bezier & | operator= (const bezier< data_type, dim__, tol__ > &bs) |
bool | operator== (const bezier< data_type, dim__, tol__ > &bs) const |
bool | abouteq (const bezier< data_type, dim__, tol__ > &bs, const data_type &ttol2) const |
bool | operator!= (const bezier< data_type, dim__, tol__ > &bs) const |
index_type | degree_u () const |
index_type | degree_v () const |
void | get_parameter_min (data_type &umin, data_type &vmin) const |
void | get_parameter_max (data_type &umax, data_type &vmax) const |
data_type | get_umin () const |
data_type | get_vmin () const |
data_type | get_umax () const |
data_type | get_vmax () const |
void | resize (const index_type &u_dim, const index_type &v_dim) |
point_type | get_control_point (const index_type &i, const index_type &j) const |
void | get_bounding_box (bounding_box_type &bb) const |
void | rotate (const rotation_matrix_type &rmat) |
void | rotate (const rotation_matrix_type &rmat, const point_type &rorig) |
void | translate (const point_type &trans) |
void | scale (const data_type &s) |
bool | open_u () const |
bool | closed_u () const |
bool | open_v () const |
bool | closed_v () const |
void | set_control_point (const point_type &cp, const index_type &i, const index_type &j) |
void | reverse_u () |
void | reverse_v () |
void | swap_uv () |
void | get_uconst_curve (curve_type &bc, const data_type &u) const |
void | get_vconst_curve (curve_type &bc, const data_type &v) const |
point_type | f (const data_type &u, const data_type &v) const |
point_type | f_u (const data_type &u, const data_type &v) const |
point_type | f_v (const data_type &u, const data_type &v) const |
point_type | f_uu (const data_type &u, const data_type &v) const |
point_type | f_uv (const data_type &u, const data_type &v) const |
point_type | f_vv (const data_type &u, const data_type &v) const |
point_type | f_uuu (const data_type &u, const data_type &v) const |
point_type | f_uuv (const data_type &u, const data_type &v) const |
point_type | f_uvv (const data_type &u, const data_type &v) const |
point_type | f_vvv (const data_type &u, const data_type &v) const |
point_type | normal (const data_type &u, const data_type &v) const |
void | promote_u () |
void | promote_u_to (index_type target_degree) |
void | promote_v () |
void | promote_v_to (index_type target_degree) |
bool | demote_u (const geom::general::continuity &u_continuity_degree=geom::general::C0) |
bool | demote_v (const geom::general::continuity &v_continuity_degree=geom::general::C0) |
void | to_cubic_u () |
void | to_cubic_v () |
void | split_u (bezier< data_type, dim__, tol__ > &bs_lo, bezier< data_type, dim__, tol__ > &bs_hi, const data_type &u0) const |
void | split_v (bezier< data_type, dim__, tol__ > &bs_lo, bezier< data_type, dim__, tol__ > &bs_hi, const data_type &v0) const |
data_type | eqp_distance_bound (const bezier< data_type, dim__, tol__ > &bs) const |
Static Public Member Functions | |
static dimension_type | dimension () |
Private Types | |
typedef Eigen::Map< Eigen::Matrix< data_type, Eigen::Dynamic, dim__ >, Eigen::Unaligned, Eigen::Stride< 1, dim__ > > | control_point_matrix_type |
typedef Eigen::Map< Eigen::Matrix< data_type, Eigen::Dynamic, dim__ >, Eigen::Unaligned, Eigen::Stride< 1, Eigen::Dynamic > > | v_dir_control_point_matrix_type |
typedef std::vector< data_type > | control_point_container |
typedef std::vector< control_point_matrix_type > | u_control_point_matrix_container |
typedef std::vector< v_dir_control_point_matrix_type > | v_control_point_matrix_container |
Private Member Functions | |
void | set_Bs (index_type n, index_type m) |
Private Attributes | |
control_point_container | point_data |
u_control_point_matrix_container | B_u |
v_control_point_matrix_container | B_v |
typedef eli::geom::general::bounding_box<data_type, dim__, tolerance_type> eli::geom::surface::bezier< data__, dim__, tol__ >::bounding_box_type |
|
private |
|
private |
typedef point_type eli::geom::surface::bezier< data__, dim__, tol__ >::control_point_type |
typedef eli::geom::curve::bezier<data_type, dim__, tolerance_type> eli::geom::surface::bezier< data__, dim__, tol__ >::curve_type |
typedef data__ eli::geom::surface::bezier< data__, dim__, tol__ >::data_type |
typedef unsigned short eli::geom::surface::bezier< data__, dim__, tol__ >::dimension_type |
typedef control_point_type::Index eli::geom::surface::bezier< data__, dim__, tol__ >::index_type |
typedef Eigen::Matrix<data_type, 1, dim__> eli::geom::surface::bezier< data__, dim__, tol__ >::point_type |
typedef Eigen::Matrix<data_type, dim__, dim__> eli::geom::surface::bezier< data__, dim__, tol__ >::rotation_matrix_type |
typedef tol__ eli::geom::surface::bezier< data__, dim__, tol__ >::tolerance_type |
|
private |
|
private |
|
private |
|
inline |
vector of v-direction, i.e. direction where u is constant, curve control points in point_data
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
raw control points stored in vector. The order is {x,y...}_(0,0) {x,y...}_(1,0) ... {x,y...}_(n,0) {x,y...}_(0,1) {x,y...}_(1,1) ... {x,y...}_(n,1) ... {x,y...}_(n,m)
|
private |
vector of u-direction, i.e. direction where v is constant, curve control points in point_data
|
private |