factorized, see vcg/container/derivation_chain.h
This commit is contained in:
parent
3d21fcba1d
commit
c7f76ab84b
|
@ -78,6 +78,7 @@ First working version!
|
||||||
#include <vcg/space/texcoord2.h>
|
#include <vcg/space/texcoord2.h>
|
||||||
#include <vcg/space/color4.h>
|
#include <vcg/space/color4.h>
|
||||||
#include <vcg/simplex/faceplus/component.h>
|
#include <vcg/simplex/faceplus/component.h>
|
||||||
|
#include <vcg/container/derivation_chain.h>
|
||||||
|
|
||||||
namespace vcg {
|
namespace vcg {
|
||||||
|
|
||||||
|
@ -133,53 +134,6 @@ class FaceBase: public face::EmptyVertexRef<
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Metaprogramming Core
|
|
||||||
|
|
||||||
template <class BVT, class BET, class BFT,class BTT,
|
|
||||||
template <typename> class A>
|
|
||||||
class FaceArity1: public A<FaceBase<BVT,BET,BFT,BTT> > {};
|
|
||||||
|
|
||||||
template <class BVT, class BET, typename BFT, class BTT,
|
|
||||||
template <typename> class A, template <typename> class B>
|
|
||||||
class FaceArity2: public B<FaceArity1<BVT,BET,BFT,BTT, A> > {};
|
|
||||||
|
|
||||||
template <class BVT, class BET, typename BFT,class BTT,
|
|
||||||
template <typename> class A, template <typename> class B,
|
|
||||||
template <typename> class C >
|
|
||||||
class FaceArity3: public C<FaceArity2<BVT,BET,BFT,BTT, A, B> > {};
|
|
||||||
|
|
||||||
template <class BVT, class BET, typename BFT,class BTT,
|
|
||||||
template <typename> class A, template <typename> class B,
|
|
||||||
template <typename> class C, template <typename> class D>
|
|
||||||
class FaceArity4: public D<FaceArity3<BVT,BET,BFT,BTT, A, B, C> > {};
|
|
||||||
|
|
||||||
template <class BVT, class BET, typename BFT,class BTT,
|
|
||||||
template <typename> class A, template <typename> class B,
|
|
||||||
template <typename> class C, template <typename> class D,
|
|
||||||
template <typename> class E >
|
|
||||||
class FaceArity5: public E<FaceArity4<BVT,BET,BFT,BTT, A, B, C, D> > {};
|
|
||||||
|
|
||||||
template <class BVT, class BET, typename BFT,class BTT,
|
|
||||||
template <typename> class A, template <typename> class B,
|
|
||||||
template <typename> class C, template <typename> class D,
|
|
||||||
template <typename> class E, template <typename> class F >
|
|
||||||
class FaceArity6: public F<FaceArity5<BVT,BET,BFT,BTT, A, B, C, D, E> > {};
|
|
||||||
|
|
||||||
template <class BVT, class BET, typename BFT,class BTT,
|
|
||||||
template <typename> class A, template <typename> class B,
|
|
||||||
template <typename> class C, template <typename> class D,
|
|
||||||
template <typename> class E, template <typename> class F,
|
|
||||||
template <typename> class G >
|
|
||||||
class FaceArity7: public G<FaceArity6<BVT,BET,BFT,BTT, A, B, C, D, E, F> > {};
|
|
||||||
|
|
||||||
template <class BVT, class BET, typename BFT,class BTT,
|
|
||||||
template <typename> class A, template <typename> class B,
|
|
||||||
template <typename> class C, template <typename> class D,
|
|
||||||
template <typename> class E, template <typename> class F,
|
|
||||||
template <typename> class G, template <typename> class H >
|
|
||||||
class FaceArity8: public H<FaceArity7<BVT,BET,BFT,BTT, A, B, C, D, E, F, G> > {};
|
|
||||||
|
|
||||||
/* The Real Big Face class;
|
/* The Real Big Face class;
|
||||||
|
|
||||||
The class __FaceArityMax__ is the one that is the Last to be derived,
|
The class __FaceArityMax__ is the one that is the Last to be derived,
|
||||||
|
@ -198,7 +152,7 @@ template <class BVT, class BET, typename BFT,class BTT,
|
||||||
template <typename> class E, template <typename> class F,
|
template <typename> class E, template <typename> class F,
|
||||||
template <typename> class G, template <typename> class H,
|
template <typename> class G, template <typename> class H,
|
||||||
template <typename> class I >
|
template <typename> class I >
|
||||||
class FaceArityMax: public I<FaceArity8<BVT,BET,BFT,BTT, A, B, C, D, E, F, G, H> > {
|
class FaceArityMax: public I<Arity8<FaceBase,BVT,BET,BFT,BTT, A, B, C, D, E, F, G, H> > {
|
||||||
|
|
||||||
// ----- Flags stuff -----
|
// ----- Flags stuff -----
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in New Issue