Small changes in the long long way to making meshlab and the vcglib really float/double independent
TexCoordScalarType can be different from the mesh scalar type
This commit is contained in:
parent
f9fbb89854
commit
0970bd18ca
|
@ -35,6 +35,7 @@ namespace vcg {
|
||||||
typedef typename MeshType::VertexType VertexType;
|
typedef typename MeshType::VertexType VertexType;
|
||||||
typedef typename MeshType::CoordType CoordType;
|
typedef typename MeshType::CoordType CoordType;
|
||||||
typedef typename MeshType::ScalarType ScalarType;
|
typedef typename MeshType::ScalarType ScalarType;
|
||||||
|
typedef typename MeshType::FaceType::TexCoordType::ScalarType TexScalarType;
|
||||||
|
|
||||||
static ScalarType Area3D(const FaceType *f)
|
static ScalarType Area3D(const FaceType *f)
|
||||||
{
|
{
|
||||||
|
@ -43,7 +44,7 @@ namespace vcg {
|
||||||
|
|
||||||
static ScalarType AreaUV(const FaceType *f)
|
static ScalarType AreaUV(const FaceType *f)
|
||||||
{
|
{
|
||||||
Point2<ScalarType> uv0,uv1,uv2;
|
Point2<TexScalarType> uv0,uv1,uv2;
|
||||||
if(PerWedgeFlag) {
|
if(PerWedgeFlag) {
|
||||||
uv0=f->cWT(0).P();
|
uv0=f->cWT(0).P();
|
||||||
uv1=f->cWT(1).P();
|
uv1=f->cWT(1).P();
|
||||||
|
@ -67,7 +68,7 @@ namespace vcg {
|
||||||
static ScalarType EdgeLenghtUV(const FaceType *f,int e)
|
static ScalarType EdgeLenghtUV(const FaceType *f,int e)
|
||||||
{
|
{
|
||||||
assert((e>=0)&&(e<3));
|
assert((e>=0)&&(e<3));
|
||||||
Point2<ScalarType> uv0,uv1;
|
Point2<TexScalarType> uv0,uv1;
|
||||||
if(PerWedgeFlag) {
|
if(PerWedgeFlag) {
|
||||||
uv0=f->cWT(e+0).P();
|
uv0=f->cWT(e+0).P();
|
||||||
uv1=f->cWT((e+1)%3).P();
|
uv1=f->cWT((e+1)%3).P();
|
||||||
|
@ -128,7 +129,7 @@ namespace vcg {
|
||||||
|
|
||||||
static ScalarType AngleRadUV(const FaceType *f,int e)
|
static ScalarType AngleRadUV(const FaceType *f,int e)
|
||||||
{
|
{
|
||||||
Point2<ScalarType> uv0,uv1,uv2;
|
Point2<TexScalarType> uv0,uv1,uv2;
|
||||||
if(PerWedgeFlag) {
|
if(PerWedgeFlag) {
|
||||||
uv0=f->cWT((e+2)%3).P();
|
uv0=f->cWT((e+2)%3).P();
|
||||||
uv1=f->cWT((e+0)%3).P();
|
uv1=f->cWT((e+0)%3).P();
|
||||||
|
@ -138,8 +139,8 @@ namespace vcg {
|
||||||
uv1=f->cV0(e)->T().P();
|
uv1=f->cV0(e)->T().P();
|
||||||
uv2=f->cV1(e)->T().P();
|
uv2=f->cV1(e)->T().P();
|
||||||
}
|
}
|
||||||
vcg::Point2<ScalarType> dir0=uv2-uv1;
|
vcg::Point2<TexScalarType> dir0=uv2-uv1;
|
||||||
vcg::Point2<ScalarType> dir1=uv0-uv1;
|
vcg::Point2<TexScalarType> dir1=uv0-uv1;
|
||||||
dir0.Normalize();
|
dir0.Normalize();
|
||||||
dir1.Normalize();
|
dir1.Normalize();
|
||||||
ScalarType t=dir0*dir1;
|
ScalarType t=dir0*dir1;
|
||||||
|
|
Loading…
Reference in New Issue