13 #ifndef eli_geom_surface_piecewise_creator_base_hpp
14 #define eli_geom_surface_piecewise_creator_base_hpp
19 #include "eli/code_eli.hpp"
32 template<
typename data__,
unsigned short dim__,
typename tol__>
53 return static_cast<index_type
>(
du.size());
58 return static_cast<index_type
>(
dv.size());
66 if ((i<0) || (i>=static_cast<index_type>(
du.size())))
69 return static_cast<data_type
>(-1);
80 return static_cast<data_type
>(-1);
86 virtual bool create(piecewise_surface_type &ps)
const = 0;
94 param_iterator
du_end()
const {
return du.end();}
96 param_iterator
dv_end()
const {
return dv.end();}
100 size_t old_size(
du.size());
103 for (index_type i=old_size; i<ns; ++i)
108 size_t old_size(
dv.size());
111 for (index_type i=old_size; i<ns; ++i)
117 void insert_du(
const data_type &duu,
const index_type &i)
119 if ((duu>0) && (i>=0) && (i<static_cast<index_type>(
du.size())))
121 du.insert(
du.begin()+i, duu);
130 void insert_dv(
const data_type &dvv,
const index_type &j)
132 if ((dvv>0) && (j>=0) && (j<static_cast<index_type>(
dv.size())))
134 dv.insert(
dv.begin()+j, dvv);
169 void set_du(
const data_type &duu,
const index_type &i)
171 if ((duu>0) && (i>=0) && (i<static_cast<index_type>(
du.size())))
176 void set_dv(
const data_type &dvv,
const index_type &j)
178 if ((dvv>0) && (j>=0) && (j<static_cast<index_type>(
dv.size())))
Eigen::Matrix< data_type, 1, dim__ > point_type
Definition: piecewise_creator_base.hpp:37
index_type get_number_u_segments() const
Definition: piecewise_creator_base.hpp:51
data__ data_type
Definition: piecewise_creator_base.hpp:36
piecewise_creator_base(const piecewise_creator_base< data_type, dim__, tolerance_type > &pcb)
Definition: piecewise_creator_base.hpp:47
virtual bool create(piecewise_surface_type &ps) const =0
void insert_dv(const data_type &dvv, const index_type &j)
Definition: piecewise_creator_base.hpp:130
data_type get_u0() const
Definition: piecewise_creator_base.hpp:61
data_type get_v0() const
Definition: piecewise_creator_base.hpp:62
void set_initial_u(const data_type &uu0)
Definition: piecewise_creator_base.hpp:166
void append_du(const data_type &duu)
Definition: piecewise_creator_base.hpp:142
void set_du(const data_type &duu, const index_type &i)
Definition: piecewise_creator_base.hpp:169
param_iterator dv_begin() const
Definition: piecewise_creator_base.hpp:95
Definition: piecewise.hpp:37
Definition: piecewise_creator_base.hpp:33
tol__ tolerance_type
Definition: piecewise_creator_base.hpp:39
param_iterator du_end() const
Definition: piecewise_creator_base.hpp:94
param_iterator du_begin() const
Definition: piecewise_creator_base.hpp:93
void insert_du(const data_type &duu, const index_type &i)
Definition: piecewise_creator_base.hpp:117
void set_number_v_segments(const index_type &ns)
Definition: piecewise_creator_base.hpp:106
virtual ~piecewise_creator_base()
Definition: piecewise_creator_base.hpp:49
index_type get_number_v_segments() const
Definition: piecewise_creator_base.hpp:56
void set_dv(const data_type &dvv, const index_type &j)
Definition: piecewise_creator_base.hpp:176
param_container_type dv
Definition: piecewise_creator_base.hpp:185
param_iterator dv_end() const
Definition: piecewise_creator_base.hpp:96
param_container_type::const_iterator param_iterator
Definition: piecewise_creator_base.hpp:91
data_type v0
Definition: piecewise_creator_base.hpp:186
void set_number_u_segments(const index_type &ns)
Definition: piecewise_creator_base.hpp:98
data_type u0
Definition: piecewise_creator_base.hpp:186
point_type::Index index_type
Definition: piecewise_creator_base.hpp:38
param_container_type du
Definition: piecewise_creator_base.hpp:185
void set_initial_v(const data_type &vv0)
Definition: piecewise_creator_base.hpp:167
piecewise_creator_base(const data_type &uu0, const data_type &vv0)
Definition: piecewise_creator_base.hpp:43
piecewise< bezier, data_type, dim__, tolerance_type > piecewise_surface_type
Definition: piecewise_creator_base.hpp:40
void append_dv(const data_type &dvv)
Definition: piecewise_creator_base.hpp:154
std::vector< data_type > param_container_type
Definition: piecewise_creator_base.hpp:90
data_type get_segment_dv(const index_type &i) const
Definition: piecewise_creator_base.hpp:75
data_type get_segment_du(const index_type &i) const
Definition: piecewise_creator_base.hpp:64