 |
OpenMesh
|
Go to the documentation of this file.
59 #ifndef OPENMESH_SUBDIVIDER_UNIFORM_COMPOSITELOOPT_HH
60 #define OPENMESH_SUBDIVIDER_UNIFORM_COMPOSITELOOPT_HH
65 #include "Composite/CompositeT.hh"
66 #include "Composite/CompositeTraits.hh"
72 namespace Subdivider {
80 template <
class MeshType,
class RealType=
float>
95 const char *
name()
const {
return "Uniform Composite Loop"; }
103 Inherited::EVc(coeffs_);
105 Inherited::EVc(coeffs_);
110 typedef typename Inherited::Coeff Coeff;
120 void init(
size_t _max_valence)
122 weights_.resize(_max_valence);
123 std::generate(weights_.begin(),
127 double operator()(
size_t _valence) {
return weights_[_valence]; }
134 double operator()(
void)
139 double f1 = 1.5 + cos(2.0*M_PI/val_++);
140 return 0.5 * f1 * f1 - 1.0;
146 std::vector<double> weights_;
156 #endif // OPENMESH_SUBDIVIDER_UNIFORM_COMPOSITELOOPT_HH defined
Uniform composite Loop subdivision algorithm.
Definition: CompositeLoopT.hh:82
Abstract base class for coefficient functions.
Definition: CompositeT.hh:163
void apply_rules(void)
Assemble here the rule sequence, by calling the constructor of the wanted rules.
Definition: CompositeLoopT.hh:99
Martin, 26.12.2004: 1) replaced resize(size()-1) with pop_back(), since the later is more efficient 2...
Definition: MeshItems.hh:64
Definition: CompositeLoopT.hh:131
const char * name() const
Return name of subdivision algorithm.
Definition: CompositeLoopT.hh:95
This class provides the composite subdivision rules for the uniform case.
Definition: CompositeT.hh:95
Helper struct.
Definition: CompositeLoopT.hh:117
Project OpenMesh,
© Computer Graphics Group, RWTH Aachen.
Documentation generated using
doxygen
.