Texture coord name change! "TCoord" and "Texture" are BAD. "TexCoord" is GOOD.
This commit is contained in:
parent
8fed8aeed3
commit
22fd220c6f
|
@ -1,4 +1,4 @@
|
|||
/****************************************************************************
|
||||
/***********F*****************************************************************
|
||||
* VCGLib o o *
|
||||
* Visual and Computer Graphics Library o o *
|
||||
* _ O _ *
|
||||
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.15 2007/01/18 18:15:14 cignoni
|
||||
added missing typenames
|
||||
|
||||
Revision 1.14 2007/01/17 14:31:47 giec
|
||||
Added TrSplit function.
|
||||
|
||||
|
@ -77,7 +80,7 @@ first working version
|
|||
#include <vector>
|
||||
#include <vcg/space/sphere3.h>
|
||||
#include <vcg/space/plane3.h>
|
||||
#include <vcg/space/tcoord2.h>
|
||||
#include <vcg/space/texcoord2.h>
|
||||
#include <vcg/space/color4.h>
|
||||
#include <vcg/simplex/face/pos.h>
|
||||
#include<vcg/complex/trimesh/allocate.h>
|
||||
|
@ -149,9 +152,9 @@ struct MidPoint : public std::unary_function<face::Pos<typename MESH_TYPE::Fac
|
|||
}
|
||||
|
||||
template<class FL_TYPE>
|
||||
TCoord2<FL_TYPE,1> WedgeInterp(TCoord2<FL_TYPE,1> &t0, TCoord2<FL_TYPE,1> &t1)
|
||||
TexCoord2<FL_TYPE,1> WedgeInterp(TexCoord2<FL_TYPE,1> &t0, TexCoord2<FL_TYPE,1> &t1)
|
||||
{
|
||||
TCoord2<FL_TYPE,1> tmp;
|
||||
TexCoord2<FL_TYPE,1> tmp;
|
||||
assert(t0.n()== t1.n());
|
||||
tmp.n()=t0.n();
|
||||
tmp.t()=(t0.t()+t1.t())/2.0;
|
||||
|
@ -209,9 +212,9 @@ struct MidPointArc : public std::unary_function<face::Pos<typename MESH_TYPE::Fa
|
|||
}
|
||||
|
||||
template<class FL_TYPE>
|
||||
TCoord2<FL_TYPE,1> WedgeInterp(TCoord2<FL_TYPE,1> &t0, TCoord2<FL_TYPE,1> &t1)
|
||||
TexCoord2<FL_TYPE,1> WedgeInterp(TexCoord2<FL_TYPE,1> &t0, TexCoord2<FL_TYPE,1> &t1)
|
||||
{
|
||||
TCoord2<FL_TYPE,1> tmp;
|
||||
TexCoord2<FL_TYPE,1> tmp;
|
||||
assert(t0.n()== t1.n());
|
||||
tmp.n()=t0.n();
|
||||
tmp.t()=(t0.t()+t1.t())/2.0;
|
||||
|
@ -434,7 +437,7 @@ bool RefineE(MESH_TYPE &m, MIDPOINT mid, EDGEPRED ep,bool RefineSelected=false,
|
|||
if(RefineSelected) (*nf[i]).SetS();
|
||||
}
|
||||
|
||||
if(tri::HasPerWedgeTexture(m))
|
||||
if(tri::HasPerWedgeTexCoord(m))
|
||||
for(i=0;i<3;++i) {
|
||||
wtt[i]=(*fi).WT(i);
|
||||
wtt[3+i]=mid.WedgeInterp((*fi).WT(i),(*fi).WT((i+1)%3));
|
||||
|
@ -445,7 +448,7 @@ bool RefineE(MESH_TYPE &m, MIDPOINT mid, EDGEPRED ep,bool RefineSelected=false,
|
|||
for(j=0;j<3;++j){
|
||||
(*nf[i]).V(j)=&*vv[SplitTab[ind].TV[i][j]];
|
||||
|
||||
if(tri::HasPerWedgeTexture(m)) //analogo ai vertici...
|
||||
if(tri::HasPerWedgeTexCoord(m)) //analogo ai vertici...
|
||||
(*nf[i]).WT(j)=wtt[SplitTab[ind].TV[i][j]];
|
||||
|
||||
assert((*nf[i]).V(j)!=0);
|
||||
|
@ -464,7 +467,7 @@ bool RefineE(MESH_TYPE &m, MIDPOINT mid, EDGEPRED ep,bool RefineSelected=false,
|
|||
{ // swap the last two triangles
|
||||
(*nf[2]).V(1)=(*nf[1]).V(0);
|
||||
(*nf[1]).V(1)=(*nf[2]).V(0);
|
||||
if(tri::HasPerWedgeTexture(m)){ //analogo ai vertici...
|
||||
if(tri::HasPerWedgeTexCoord(m)){ //analogo ai vertici...
|
||||
(*nf[2]).WT(1)=(*nf[1]).WT(0);
|
||||
(*nf[1]).WT(1)=(*nf[2]).WT(0);
|
||||
}
|
||||
|
@ -568,9 +571,9 @@ struct MidPointButterfly : public std::unary_function<face::Pos<typename MESH_TY
|
|||
}
|
||||
|
||||
template<class FL_TYPE>
|
||||
TCoord2<FL_TYPE,1> WedgeInterp(TCoord2<FL_TYPE,1> &t0, TCoord2<FL_TYPE,1> &t1)
|
||||
TexCoord2<FL_TYPE,1> WedgeInterp(TexCoord2<FL_TYPE,1> &t0, TexCoord2<FL_TYPE,1> &t1)
|
||||
{
|
||||
TCoord2<FL_TYPE,1> tmp;
|
||||
TexCoord2<FL_TYPE,1> tmp;
|
||||
assert(t0.n()== t1.n());
|
||||
tmp.n()=t0.n();
|
||||
tmp.t()=(t0.t()+t1.t())/2.0;
|
||||
|
@ -733,9 +736,9 @@ struct MidPointPlane : public std::unary_function<face::Pos<typename MESH_TYPE::
|
|||
}
|
||||
|
||||
template<class FL_TYPE>
|
||||
TCoord2<FL_TYPE,1> WedgeInterp(TCoord2<FL_TYPE,1> &t0, TCoord2<FL_TYPE,1> &t1)
|
||||
TexCoord2<FL_TYPE,1> WedgeInterp(TexCoord2<FL_TYPE,1> &t0, TexCoord2<FL_TYPE,1> &t1)
|
||||
{
|
||||
TCoord2<FL_TYPE,1> tmp;
|
||||
TexCoord2<FL_TYPE,1> tmp;
|
||||
assert(t0.n()== t1.n());
|
||||
tmp.n()=t0.n();
|
||||
tmp.t()=(t0.t()+t1.t())/2.0;
|
||||
|
@ -780,9 +783,9 @@ struct MidPointSphere : public std::unary_function<face::Pos<typename MESH_TYPE:
|
|||
}
|
||||
|
||||
template<class FL_TYPE>
|
||||
TCoord2<FL_TYPE,1> WedgeInterp(TCoord2<FL_TYPE,1> &t0, TCoord2<FL_TYPE,1> &t1)
|
||||
TexCoord2<FL_TYPE,1> WedgeInterp(TexCoord2<FL_TYPE,1> &t0, TexCoord2<FL_TYPE,1> &t1)
|
||||
{
|
||||
TCoord2<FL_TYPE,1> tmp;
|
||||
TexCoord2<FL_TYPE,1> tmp;
|
||||
assert(t0.n()== t1.n());
|
||||
tmp.n()=t0.n();
|
||||
tmp.t()=(t0.t()+t1.t())/2.0;
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.11 2006/10/07 10:02:16 cignoni
|
||||
Added missing typename for interp.parameters
|
||||
|
||||
Revision 1.10 2005/11/30 14:05:04 ponchio
|
||||
Fixed some UberZ fuynctions and non defined _flags
|
||||
|
||||
|
@ -60,7 +63,7 @@ created
|
|||
#define __VCGLIB__EDGE_TYPE_BASE
|
||||
|
||||
#include <vcg/space/box3.h>
|
||||
#include <vcg/space/tcoord2.h>
|
||||
#include <vcg/space/texcoord2.h>
|
||||
|
||||
namespace vcg {
|
||||
|
||||
|
@ -71,7 +74,7 @@ namespace vcg {
|
|||
This is the base class for definition of a face of the mesh.
|
||||
@param SVTYPE (Templete Parameter) Specifies the vertex class type.
|
||||
*/
|
||||
template <class EDGENAME, class SVTYPE, class TCTYPE = TCoord2<float,1> > class EDGE_TYPE
|
||||
template <class EDGENAME, class SVTYPE, class TCTYPE = TexCoord2<float,1> > class EDGE_TYPE
|
||||
{
|
||||
public:
|
||||
/// The base type of the segment
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.42 2007/02/20 14:07:53 ganovelli
|
||||
added QualityType to comply faceplus type
|
||||
|
||||
Revision 1.41 2007/01/13 00:25:36 cignoni
|
||||
Added #ifdefs to guarantee that ComputeNormal would be defined only once
|
||||
|
||||
|
@ -154,7 +157,7 @@ First commit...
|
|||
|
||||
#include <vcg/math/base.h>
|
||||
#include <vcg/space/box3.h>
|
||||
#include <vcg/space/tcoord2.h>
|
||||
#include <vcg/space/texcoord2.h>
|
||||
#include <vcg/space/triangle3.h>
|
||||
#include <vcg/space/sphere3.h>
|
||||
#include <vcg/space/color4.h>
|
||||
|
@ -176,7 +179,7 @@ class DUMMYTETRATYPE;
|
|||
* directory. Each file specify a class type with the desired fields. So for example
|
||||
* including 'vcg/simplex/face/with/FCFN.h' allow you to use the class FaceFCFN that has per-face color and normal stored inside.
|
||||
*/
|
||||
template <class FVTYPE, class FETYPE, class FFTYPE, class TCTYPE = TCoord2<float,1> > class FACE_TYPE
|
||||
template <class FVTYPE, class FETYPE, class FFTYPE, class TCTYPE = TexCoord2<float,1> > class FACE_TYPE
|
||||
{
|
||||
public:
|
||||
/// The base type of the face
|
||||
|
@ -1051,7 +1054,7 @@ static bool HasWedgeColor() {
|
|||
return false;
|
||||
#endif
|
||||
}
|
||||
static bool HasWedgeTexture() {
|
||||
static bool HasWedgeTexCoord() {
|
||||
#ifdef __VCGLIB_FACE_WT
|
||||
return true;
|
||||
#else
|
||||
|
|
|
@ -20,4 +20,4 @@
|
|||
#undef __VCGLIB_FACE_FM
|
||||
#undef __VCGLIB_FACE_RT
|
||||
#undef __VCGLIB_FACE_FQ
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.9 2007/02/12 19:01:23 ganovelli
|
||||
added Name(std:vector<std::string>& n) that fills n with the names of the attribute of the face type
|
||||
|
||||
Revision 1.8 2006/10/09 20:20:18 cignoni
|
||||
Increased the maximum number of possible template args from 8 to 9
|
||||
|
||||
|
@ -60,7 +63,7 @@ First working version!
|
|||
#define __VCG_FACE_PLUS
|
||||
|
||||
#include <vcg/space/point3.h>
|
||||
#include <vcg/space/tcoord2.h>
|
||||
#include <vcg/space/texcoord2.h>
|
||||
#include <vcg/space/color4.h>
|
||||
#include <vcg/simplex/faceplus/component.h>
|
||||
|
||||
|
@ -111,7 +114,7 @@ class FaceBase: public face::EmptyVertexRef<
|
|||
face::EmptyNormal<
|
||||
face::EmptyBitFlags<
|
||||
face::EmptyMark<
|
||||
face::EmptyWedgeTexture<
|
||||
face::EmptyWedgeTexCoord<
|
||||
FaceTypeHolder <BVT, BET, BFT, BTT> > > > > > > >{
|
||||
};
|
||||
|
||||
|
@ -331,7 +334,7 @@ A summary of the components that can be added to a face (see components.h for de
|
|||
VertexRef
|
||||
NormalFromVert, WedgeNormal
|
||||
Normal3s, Normal3f, Normal3d
|
||||
WedgeTexture2s, WedgeTexture2f, WedgeTexture2d
|
||||
WedgeTexCoord2s, WedgeTexCoord2f, WedgeTexCoord2d
|
||||
BitFlags
|
||||
WedgeColor, Color4b
|
||||
Qualitys, Qualityf, Qualityd
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.14 2007/02/27 09:32:00 cignoni
|
||||
Added constructor to the VFadj component to comply to the allocator needs
|
||||
|
||||
Revision 1.13 2007/02/12 19:01:23 ganovelli
|
||||
added Name(std:vector<std::string>& n) that fills n with the names of the attribute of the face type
|
||||
|
||||
|
@ -226,39 +229,39 @@ public: static void Name(std::vector<std::string> & name){name.push_back(std::st
|
|||
};
|
||||
|
||||
|
||||
/*-------------------------- Texture ----------------------------------------*/
|
||||
/*-------------------------- TexCoord ----------------------------------------*/
|
||||
|
||||
template <class TT> class EmptyWedgeTexture: public TT {
|
||||
template <class TT> class EmptyWedgeTexCoord: public TT {
|
||||
public:
|
||||
typedef int WedgeTextureType;
|
||||
typedef vcg::TCoord2<float,1> TexCoordType;
|
||||
typedef int WedgeTexCoordType;
|
||||
typedef vcg::TexCoord2<float,1> TexCoordType;
|
||||
TexCoordType &WT(const int) { static TexCoordType dummy_texture; return dummy_texture;}
|
||||
TexCoordType const &cWT(const int) const { static TexCoordType dummy_texture; return dummy_texture;}
|
||||
static bool HasWedgeTexture() { return false; }
|
||||
static bool HasWedgeTextureOcc() { return false; }
|
||||
static bool HasWedgeTexCoord() { return false; }
|
||||
static bool HasWedgeTexCoordOcc() { return false; }
|
||||
static void Name(std::vector<std::string> & name){TT::Name(name);}
|
||||
|
||||
};
|
||||
template <class A, class TT> class WedgeTexture: public TT {
|
||||
template <class A, class TT> class WedgeTexCoord: public TT {
|
||||
public:
|
||||
typedef int WedgeTextureType;
|
||||
typedef int WedgeTexCoordType;
|
||||
typedef A TexCoordType;
|
||||
TexCoordType &WT(const int i) { return _wt[i]; }
|
||||
TexCoordType const &cWT(const int i) const { return _wt[i]; }
|
||||
static bool HasWedgeTexture() { return true; }
|
||||
static bool HasWedgeTexCoord() { return true; }
|
||||
static void Name(std::vector<std::string> & name){name.push_back(std::string("WedgeTexture"));TT::Name(name);}
|
||||
|
||||
private:
|
||||
TexCoordType _wt[3];
|
||||
};
|
||||
|
||||
template <class TT> class WedgeTexture2s: public WedgeTexture<TCoord2<short,1>, TT> {
|
||||
template <class TT> class WedgeTexCoord2s: public WedgeTexCoord<TexCoord2<short,1>, TT> {
|
||||
public: static void Name(std::vector<std::string> & name){name.push_back(std::string("WedgeTexture2s"));TT::Name(name);}
|
||||
};
|
||||
template <class TT> class WedgeTexture2f: public WedgeTexture<TCoord2<float,1>, TT> {
|
||||
template <class TT> class WedgeTexCoord2f: public WedgeTexCoord<TexCoord2<float,1>, TT> {
|
||||
public: static void Name(std::vector<std::string> & name){name.push_back(std::string("WedgeTexture2f"));TT::Name(name);}
|
||||
};
|
||||
template <class TT> class WedgeTexture2d: public WedgeTexture<TCoord2<double,1>, TT> {
|
||||
template <class TT> class WedgeTexCoord2d: public WedgeTexCoord<TexCoord2<double,1>, TT> {
|
||||
public: static void Name(std::vector<std::string> & name){name.push_back(std::string("WedgeTexture2d"));TT::Name(name);}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue