ExtrudeGeometryWorldUVGenerator class
class ExtrudeGeometryWorldUVGenerator { generateTopUV( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC) { var ax = geometry.vertices[ indexA ].x, ay = geometry.vertices[ indexA ].y, bx = geometry.vertices[ indexB ].x, by = geometry.vertices[ indexB ].y, cx = geometry.vertices[ indexC ].x, cy = geometry.vertices[ indexC ].y; return [ new UV( ax, 1 - ay ), new UV( bx, 1 - by ), new UV( cx, 1 - cy ) ]; } generateBottomUV( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC) { return generateTopUV( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC ); } generateSideWallUV( geometry, extrudedShape, wallContour, extrudeOptions, indexA, indexB, indexC, indexD, stepIndex, stepsLength) { var ax = geometry.vertices[ indexA ].x, ay = geometry.vertices[ indexA ].y, az = geometry.vertices[ indexA ].z, bx = geometry.vertices[ indexB ].x, by = geometry.vertices[ indexB ].y, bz = geometry.vertices[ indexB ].z, cx = geometry.vertices[ indexC ].x, cy = geometry.vertices[ indexC ].y, cz = geometry.vertices[ indexC ].z, dx = geometry.vertices[ indexD ].x, dy = geometry.vertices[ indexD ].y, dz = geometry.vertices[ indexD ].z; if ( ( ay - by ).abs() < 0.01 ) { return [ new UV( ax, az ), new UV( bx, bz ), new UV( cx, cz ), new UV( dx, dz ) ]; } else { return [ new UV( ay, az ), new UV( by, bz ), new UV( cy, cz ), new UV( dy, dz ) ]; } } }
Methods
dynamic generateBottomUV(geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC) #
generateBottomUV( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC) { return generateTopUV( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC ); }
dynamic generateSideWallUV(geometry, extrudedShape, wallContour, extrudeOptions, indexA, indexB, indexC, indexD, stepIndex, stepsLength) #
generateSideWallUV( geometry, extrudedShape, wallContour, extrudeOptions, indexA, indexB, indexC, indexD, stepIndex, stepsLength) { var ax = geometry.vertices[ indexA ].x, ay = geometry.vertices[ indexA ].y, az = geometry.vertices[ indexA ].z, bx = geometry.vertices[ indexB ].x, by = geometry.vertices[ indexB ].y, bz = geometry.vertices[ indexB ].z, cx = geometry.vertices[ indexC ].x, cy = geometry.vertices[ indexC ].y, cz = geometry.vertices[ indexC ].z, dx = geometry.vertices[ indexD ].x, dy = geometry.vertices[ indexD ].y, dz = geometry.vertices[ indexD ].z; if ( ( ay - by ).abs() < 0.01 ) { return [ new UV( ax, az ), new UV( bx, bz ), new UV( cx, cz ), new UV( dx, dz ) ]; } else { return [ new UV( ay, az ), new UV( by, bz ), new UV( cy, cz ), new UV( dy, dz ) ]; } }
dynamic generateTopUV(geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC) #
generateTopUV( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC) { var ax = geometry.vertices[ indexA ].x, ay = geometry.vertices[ indexA ].y, bx = geometry.vertices[ indexB ].x, by = geometry.vertices[ indexB ].y, cx = geometry.vertices[ indexC ].x, cy = geometry.vertices[ indexC ].y; return [ new UV( ax, 1 - ay ), new UV( bx, 1 - by ), new UV( cx, 1 - cy ) ]; }