CAttachOp::CAttachOp(const std::list<int> &solids, double tol, double min_z):COp(GetTypeString(), 0, AttachOpType), m_solids(solids), m_tolerance(tol), m_min_z(min_z) { ReadDefaultValues(); #ifdef OP_SKETCHES_AS_CHILDREN for(std::list<int>::const_iterator It = solids.begin(); It != solids.end(); It++) { int solid = *It; HeeksObj* object = heeksCAD->GetIDObject(SolidType, solid); if(object) { Add(object, NULL); } } m_solids.clear(); #endif }
CWaterline::CWaterline(const std::list<int> &solids, const int tool_number) :CDepthOp(GetTypeString(), NULL, tool_number, WaterlineType), m_solids(solids) { ReadDefaultValues(); // set m_box from the extents of the solids for(std::list<int>::const_iterator It = solids.begin(); It != solids.end(); It++) { int solid = *It; HeeksObj* object = heeksCAD->GetIDObject(SolidType, solid); if(object) { if(object->GetType() == StlSolidType) { object->GetBox(m_params.m_box); } else { double extents[6]; if(heeksCAD->BodyGetExtents(object, extents)) { m_params.m_box.Insert(CBox(extents)); } } Add(object, NULL); } } m_solids.clear(); SetDepthOpParamsFromBox(); // add tool radius all around the box if(m_params.m_box.m_valid) { CTool *pTool = CTool::Find(m_tool_number); if(pTool) { double extra = pTool->m_params.m_diameter/2 + 0.01; m_params.m_box.m_x[0] -= extra; m_params.m_box.m_x[1] -= extra; m_params.m_box.m_x[3] += extra; m_params.m_box.m_x[4] += extra; } } }
CProfile::CProfile(const std::list<int> &sketches, const int tool_number ) : CDepthOp(GetTypeString(), &sketches, tool_number, ProfileType), m_tags(NULL), m_sketches(sketches) { ReadDefaultValues(); #ifdef OP_SKETCHES_AS_CHILDREN for (std::list<int>::iterator id = m_sketches.begin(); id != m_sketches.end(); id++) { HeeksObj *object = heeksCAD->GetIDObject( SketchType, *id ); if (object != NULL) { Add( object, NULL ); } } m_sketches.clear(); #endif } // End constructor
CProfile::CProfile(int sketch, const int tool_number ) : CSketchOp(sketch, tool_number, ProfileType), m_tags(NULL) { ReadDefaultValues(); } // End constructor
CPocket::CPocket(int sketch, const int tool_number ) : CSketchOp(sketch, tool_number, PocketType ) { ReadDefaultValues(); set_initial_values(tool_number); }
CTag::CTag(): m_width(10.0), m_angle(45.0), m_height(4.0){ m_pos[0] = m_pos[1] = 0.0; ReadDefaultValues(); }