//-----------------------------------------------------------------------
void SpringGenerator::addToTriangleBuffer(TriangleBuffer& buffer) const
{
	Path p = HelixPath().setHeight(mHeight).setNumRound(mNumRound).setNumSegPath(mNumSegPath).setRadius(mRadiusHelix).realizePath();

	Shape s = CircleShape().setRadius(mRadiusCircle).setNumSeg(mNumSegCircle).realizeShape();

	Extruder().setExtrusionPath(&p).setShapeToExtrude(&s).addToTriangleBuffer(buffer);
}
Example #2
0
void
GCodeWriter::set_extruders(const std::vector<unsigned int> &extruder_ids)
{
    for (std::vector<unsigned int>::const_iterator i = extruder_ids.begin(); i != extruder_ids.end(); ++i) {
        this->extruders.insert( std::pair<unsigned int,Extruder>(*i, Extruder(*i, &this->config)) );
    }
    
    /*  we enable support for multiple extruder if any extruder greater than 0 is used
        (even if prints only uses that one) since we need to output Tx commands
        first extruder has index 0 */
    this->multiple_extruders = (*std::max_element(extruder_ids.begin(), extruder_ids.end())) > 0;
}