[Piglit] [PATCH 19/19] glean: Remove SpiralStrip2D and SpiralTri2D.
Jose Fonseca
jfonseca at vmware.com
Tue Jan 8 17:12:07 PST 2013
The series looks good to me FWIW.
Jose
----- Original Message -----
> Both of these were unused.
> ---
> tests/glean/geomutil.cpp | 156
> -----------------------------------------------
> tests/glean/geomutil.h | 20 ------
> 2 files changed, 176 deletions(-)
>
> diff --git a/tests/glean/geomutil.cpp b/tests/glean/geomutil.cpp
> index 01645f7..1852332 100644
> --- a/tests/glean/geomutil.cpp
> +++ b/tests/glean/geomutil.cpp
> @@ -80,162 +80,6 @@ RandomMesh2D::~RandomMesh2D() {
> } // RandomMesh2D::~RandomMesh2D
>
>
> -
> -///////////////////////////////////////////////////////////////////////////////
> -// SpiralStrip2D: Generate (x,y) vertices for a triangle strip of
> arbitrary
> -// length. The triangles are of approximately equal size, and
> arranged
> -// in a spiral so that a reasonably large number of triangles can be
> -// packed into a small screen area.
> -///////////////////////////////////////////////////////////////////////////////
> -SpiralStrip2D::SpiralStrip2D(int nPoints, float minX, float maxX,
> - float minY, float maxY) {
> -
> - // Most of the complexity of this code results from attempting
> - // to keep the triangles approximately equal in area.
> - //
> - // Conceptually, we construct concentric rings whose inner and
> - // outer radii differ by a constant. We then split each ring
> - // (at theta == 0), and starting from the point of the split
> - // gradually increase both the inner and outer radii so that
> - // when we've wrapped all the way around the ring (to theta ==
> - // 2*pi), the inner radius now matches the original outer
> - // radius. We then repeat the process with the next ring
> - // (working from innermost to outermost) until we've
> - // accumulated enough vertices to satisfy the caller's
> - // requirements.
> - //
> - // Finally, we scale and offset all the points so that the
> - // resulting spiral fits comfortably within the rectangle
> - // provided by the caller.
> -
> - // Set up the array of vertices:
> - v = new float[2 * nPoints];
> - float* lastV = v + 2 * nPoints;
> -
> - // Initialize the ring parameters:
> - double innerRadius = 4.0;
> - double ringWidth = 1.0;
> - double segLength = 1.0;
> -
> - float* pV = v;
> - while (pV < lastV) {
> - // Each ring consists of segments. We'll make the arc
> - // length of each segment that lies on the inner
> - // radius approximately equal to segLength, but we'll
> - // adjust it to ensure there are an integral number of
> - // equal-sized segments in the ring.
> - int nSegments = static_cast<int>
> - (6.2831853 * innerRadius / segLength + 0.5);
> -
> - double dTheta = 6.2831853 / nSegments;
> - double dRadius = ringWidth / nSegments;
> -
> - double theta = 0.0;
> - for (int i = 0; i < nSegments; ++i) {
> - double c = cos(theta);
> - double s = sin(theta);
> -
> - *pV++ = innerRadius * c;
> - *pV++ = innerRadius * s;
> - if (pV >= lastV)
> - break;
> -
> - *pV++ = (innerRadius + ringWidth) * c;
> - *pV++ = (innerRadius + ringWidth) * s;
> - if (pV >= lastV)
> - break;
> -
> - theta += dTheta;
> - innerRadius += dRadius;
> - }
> - }
> -
> - // Find the bounding box for the spiral:
> - float lowX = FLT_MAX;
> - float highX = - FLT_MAX;
> - float lowY = FLT_MAX;
> - float highY = -FLT_MAX;
> - for (pV = v; pV < lastV; pV += 2) {
> - lowX = min(lowX, pV[0]);
> - highX = max(highX, pV[0]);
> - lowY = min(lowY, pV[1]);
> - highY = max(highY, pV[1]);
> - }
> -
> - // Find scale and offset to map the spiral into the bounds supplied
> - // by our caller, with a little bit of margin around the edges:
> - lowX -= ringWidth;
> - highX += ringWidth;
> - lowY -= ringWidth;
> - highY += ringWidth;
> - float scaleX = (maxX - minX) / (highX - lowX);
> - float offsetX = minX - scaleX * lowX;
> - float scaleY = (maxY - minY) / (highY - lowY);
> - float offsetY = minY - scaleY * lowY;
> -
> - // Finally scale and offset the constructed vertices so that
> - // they fit in the caller-supplied rectangle:
> - for (pV = v; pV < lastV; pV += 2) {
> - pV[0] = scaleX * pV[0] + offsetX;
> - pV[1] = scaleY * pV[1] + offsetY;
> - }
> -} // SpiralStrip2D::SpiralStrip2D
> -
> -SpiralStrip2D::~SpiralStrip2D() {
> - delete[] v;
> -} // SpiralStrip2D::~SpiralStrip2D
> -
> -
> -
> -
> -///////////////////////////////////////////////////////////////////////////////
> -// SpiralTri2D: Generate (x,y) vertices for a set of independent
> triangles,
> -// arranged in spiral fashion exactly as in SpiralStrip2D.
> -// One may rely on the fact that SpiralTri2D generates exactly the
> -// same triangles as SpiralStrip2D, so that comparison of images
> -// using the two primitives is meaningful.
> -///////////////////////////////////////////////////////////////////////////////
> -SpiralTri2D::SpiralTri2D(int nTris, float minX, float maxX,
> - float minY, float maxY) {
> - SpiralStrip2D ts(nTris + 2, minX, maxX, minY, maxY);
> - const int nVertices = 3 * nTris;
> - v = new float[2 * nVertices];
> -
> - float* pTris = v;
> - float* pStrip = ts(0);
> - bool front = true; // winding order alternates in strip
> - for (int i = 0; i < nTris; ++i) {
> - if (front) {
> - pTris[0] = pStrip[0];
> - pTris[1] = pStrip[1];
> -
> - pTris[2] = pStrip[2];
> - pTris[3] = pStrip[3];
> -
> - pTris[4] = pStrip[4];
> - pTris[5] = pStrip[5];
> - } else {
> - pTris[0] = pStrip[0];
> - pTris[1] = pStrip[1];
> -
> - pTris[2] = pStrip[4];
> - pTris[3] = pStrip[5];
> -
> - pTris[4] = pStrip[2];
> - pTris[5] = pStrip[3];
> - }
> -
> - front = !front;
> - pTris += 6;
> - pStrip += 2;
> - }
> -} // SpiralTri2D::SpiralTri2D
> -
> -SpiralTri2D::~SpiralTri2D() {
> - delete[] v;
> -} // SpiralTri2D::~SpiralTri2D
> -
> -
> //////////////////////////////////////////////////////////////////////////////////////////////////////
> // Sphere3D: Forms a stacks/slices sphere and can return the
> vertices and index list for drawing it.
> //////////////////////////////////////////////////////////////////////////////////////////////////////
> diff --git a/tests/glean/geomutil.h b/tests/glean/geomutil.h
> index 34e7356..db899b1 100644
> --- a/tests/glean/geomutil.h
> +++ b/tests/glean/geomutil.h
> @@ -52,26 +52,6 @@ class RandomMesh2D {
> { return m + 2 * (y * rowLength + x); }
> }; // RandomMesh2D
>
> -class SpiralStrip2D {
> - float* v;
> - public:
> - SpiralStrip2D(int nPoints, float minX, float maxX,
> - float minY, float maxY);
> - ~SpiralStrip2D();
> - inline float* operator() (int i)
> - { return v + 2 * i; }
> -}; // SpiralStrip2D
> -
> -class SpiralTri2D {
> - float* v;
> - public:
> - SpiralTri2D(int nTris, float minX, float maxX,
> - float minY, float maxY);
> - ~SpiralTri2D();
> - inline float* operator() (int i)
> - { return v + 6 * i; }
> -}; // SpiralTri2D
> -
> class Sphere3D {
> std::vector<float> vertices;
> std::vector<float> normals;
> --
> 1.8.0.3
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
>
More information about the Piglit
mailing list