Beispiel #1
0
		void PathGroup::render() {
			Renderer* g = ARK2D::getRenderer();
			g->setDrawColor(Color::white);

			// render points.
			for(unsigned int i = 0; i < paths.size(); i++) {
				for(unsigned int j = 0; j < paths.at(i)->subpaths.at(0)->points.size(); j++) {
					Vector2<float>* p = paths.at(i)->subpaths.at(0)->points.at(j);
					renderPoint(p->getX(), p->getY(), (j == 0 || j == paths.at(i)->subpaths.at(0)->points.size()-1));
				}
			}

			// render curve.
			renderCurve();

			// render straight lines.
			for(unsigned int i = 0; i < paths.size(); i++) {
				SubPath* mainPath = paths.at(i)->subpaths.at(0);
				for(unsigned int j = 0; j < mainPath->points.size(); j++) {
					if (j+1 != mainPath->points.size()) {
						renderLine(
							mainPath->points.at(j)->getX(),
							mainPath->points.at(j)->getY(),
							mainPath->points.at(j+1)->getX(),
							mainPath->points.at(j+1)->getY()
						);
					}
				}
			}



		}
Beispiel #2
0
void BezierCurve::renderCurves(const std::vector<Vector3> &_cpts,
                               int _steps,
							   float _lineWidth,
							   Vector3 _color) {
    for (int i=0; i<_cpts.size()-2; i=i+2) {
        Vector3 p1 = _cpts.at(i);
        Vector3 p2 = _cpts.at(i+1);
        Vector3 p3 = _cpts.at(i+2);
        renderCurve(p1, p2, p3, _steps, _lineWidth, _color);
    }
}
Beispiel #3
0
		void PathGroup::renderCurve() {
			renderCurve(Color::red);
		}