Download src/Mod/CAM/libarea/AreaDxf.cpp from AbdulElahGwaith/FreeCAD: direct link, hf CLI and curl.
- Browser
- Download file 1.27 kB
-
https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/src/Mod/CAM/libarea/AreaDxf.cpp
- Command line
-
hf download hf://AbdulElahGwaith/FreeCAD/src/Mod/CAM/libarea/AreaDxf.cpp
-
curl -L -o AreaDxf.cpp https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/src/Mod/CAM/libarea/AreaDxf.cpp
1.27 kB
| // SPDX-License-Identifier: BSD-3-Clause | |
| // AreaDxf.cpp | |
| // Copyright (c) 2011, Dan Heeks | |
| // This program is released under the BSD license. See the file COPYING for details. | |
| AreaDxfRead::AreaDxfRead(CArea* area, const char* filepath) | |
| : CDxfRead(filepath) | |
| , m_area(area) | |
| {} | |
| void AreaDxfRead::StartCurveIfNecessary(const Base::Vector3d& startPoint) const | |
| { | |
| Point ps(startPoint.x, startPoint.y); | |
| if (m_area->m_curves.empty() || m_area->m_curves.back().m_vertices.empty() | |
| || m_area->m_curves.back().m_vertices.back().m_p != ps) { | |
| // start a new curve | |
| m_area->m_curves.emplace_back(); | |
| m_area->m_curves.back().m_vertices.emplace_back(ps); | |
| } | |
| } | |
| void AreaDxfRead::OnReadLine(const Base::Vector3d& start, const Base::Vector3d& end, bool /*hidden*/) | |
| { | |
| StartCurveIfNecessary(start); | |
| m_area->m_curves.back().m_vertices.emplace_back(Point(end.x, end.y)); | |
| } | |
| void AreaDxfRead::OnReadArc( | |
| const Base::Vector3d& start, | |
| const Base::Vector3d& end, | |
| const Base::Vector3d& center, | |
| bool dir, | |
| bool /*hidden*/ | |
| ) | |
| { | |
| StartCurveIfNecessary(start); | |
| m_area->m_curves.back() | |
| .m_vertices.emplace_back(dir ? 1 : 0, Point(end.x, end.y), Point(center.x, center.y)); | |
| } | |