//----------------------------------------------------------------------- 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); }
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; }