* @param attrNames reference that will be filled with the attribute names
* the number of attrNames returned depends on the degree of the polynomials :
* - 1 attrName for geometric position (VEC3)
* - 3 attrNames for local frame (3xVEC3) : Tangent, Bitangent and Normal vector
* - 1 attrName for geometric position (VEC3) : name = "position" ;
* - 3 attrNames for local frame (3xVEC3) : names are "Frame_T" (Tangent), "Frame_B" (Binormal) and "Frame_N" (Normal) ;
* - N attrNames for the function coefficients (NxVEC3) : N RGB coefficients being successively the constants, the linears (v then u), the quadratics, etc. : : a0 + a1*v + a2*u + a3*u*v + a4*v^2 + a5*u^2.
* Their names are : "colorPTM_a<i>" (where <i> is a number from 0 to N-1).
* N = 1 for constant polynomial,
* N = 3 for linear polynomial,
* N = 6 for quadratic polynomial,
* N = 10 for cubic degree polynomial,
* N = 15 for 4th degree polynomial,
* ...
* - K remaining attributes named "remainderNo<k>" where k is an integer from 0 to K-1.
* Hint : N = attrNames.size() - 4 ;
* @return bool : success.
*/
...
...
@@ -588,13 +590,33 @@ bool MeshTablesSurface<PFP>::importPlyPTMgeneric(const std::string& filename, st
unsignedintnbVertices;
fp>>nbVertices;// Read #vertices
unsignedintnbProps=0;
boolposition=false;
booltangent=false;
boolbinormal=false;
boolnormal=false;
unsignedintnbProps=0;// # properties
unsignedintnbCoefsPerPol=0;// # coefficients per polynomial