PolyScreenCurve.cpp 732 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * PolyScreenCurve.cpp
  3. * Poly
  4. *
  5. * Created by Ivan Safrin on 9/5/08.
  6. * Copyright 2008 __MyCompanyName__. All rights reserved.
  7. *
  8. */
  9. #include "PolyScreenCurve.h"
  10. using namespace Polycode;
  11. ScreenCurve::ScreenCurve(BezierCurve *curve, int numVertices) : ScreenShape(ScreenShape::SHAPE_CUSTOM) {
  12. this->curve = curve;
  13. this->numVertices = numVertices;
  14. mesh->setMeshType(Mesh::TRIFAN_MESH);
  15. Polygon *poly = new Polygon();
  16. Color c;
  17. Number interval = 1.0f/numVertices;
  18. Vector3 vec;
  19. Number offset = 1.0f;
  20. Vertex *v;
  21. for(int i=0; i < numVertices; i++) {
  22. vec = curve->getPointAt(offset);
  23. v = poly->addVertex(vec.x, vec.y, 0);
  24. offset -= interval;
  25. }
  26. mesh->addPolygon(poly);
  27. }
  28. ScreenCurve::~ScreenCurve() {
  29. }