Integrade OpenCASCADE
This commit is contained in:
@@ -9,6 +9,24 @@ set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
find_package(Qt6 COMPONENTS Widgets OpenGLWidgets REQUIRED)
|
||||
find_package(TBB REQUIRED)
|
||||
|
||||
find_package(OpenCASCADE REQUIRED
|
||||
COMPONENTS
|
||||
FoundationClasses
|
||||
ModelingData
|
||||
ModelingAlgorithms
|
||||
Visualization
|
||||
)
|
||||
|
||||
# Workaround for Debian's OpenCASCADE package not setting INCLUDE_DIRS correctly
|
||||
if(NOT OpenCASCADE_INCLUDE_DIRS)
|
||||
set(OpenCASCADE_INCLUDE_DIRS "/usr/include/opencascade")
|
||||
message(STATUS "OpenCASCADE_INCLUDE_DIRS was not set. Forcing to /usr/include/opencascade")
|
||||
endif()
|
||||
|
||||
message(STATUS "OpenCASCADE_INCLUDE_DIRS: ${OpenCASCADE_INCLUDE_DIRS}")
|
||||
message(STATUS "OpenCASCADE_LIBRARIES: ${OpenCASCADE_LIBRARIES}")
|
||||
|
||||
add_executable(OpenCAD
|
||||
src/main.cpp
|
||||
@@ -24,4 +42,13 @@ add_executable(OpenCAD
|
||||
resources.qrc
|
||||
)
|
||||
|
||||
target_link_libraries(OpenCAD PRIVATE Qt6::Widgets Qt6::OpenGLWidgets)
|
||||
target_include_directories(OpenCAD PRIVATE ${OpenCASCADE_INCLUDE_DIRS})
|
||||
target_link_libraries(OpenCAD PRIVATE
|
||||
Qt6::Widgets
|
||||
Qt6::OpenGLWidgets
|
||||
${OpenCASCADE_FoundationClasses_LIBRARIES}
|
||||
${OpenCASCADE_ModelingData_LIBRARIES}
|
||||
${OpenCASCADE_ModelingAlgorithms_LIBRARIES}
|
||||
${OpenCASCADE_Visualization_LIBRARIES}
|
||||
TBB::tbb
|
||||
)
|
||||
|
||||
@@ -20,6 +20,11 @@ SketchFeature::SketchPlane SketchFeature::plane() const
|
||||
return m_plane;
|
||||
}
|
||||
|
||||
const TopoDS_Shape& SketchFeature::shape() const
|
||||
{
|
||||
return m_shape;
|
||||
}
|
||||
|
||||
void SketchFeature::read(const QJsonObject& json)
|
||||
{
|
||||
Feature::read(json);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef SKETCHFEATURE_H
|
||||
#define SKETCHFEATURE_H
|
||||
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include "Feature.h"
|
||||
|
||||
class SketchFeature : public Feature
|
||||
@@ -19,11 +20,14 @@ public:
|
||||
void setPlane(SketchPlane plane);
|
||||
SketchPlane plane() const;
|
||||
|
||||
const TopoDS_Shape& shape() const;
|
||||
|
||||
void read(const QJsonObject &json) override;
|
||||
void write(QJsonObject &json) const override;
|
||||
|
||||
private:
|
||||
SketchPlane m_plane;
|
||||
TopoDS_Shape m_shape;
|
||||
};
|
||||
|
||||
#endif // SKETCHFEATURE_H
|
||||
|
||||
Reference in New Issue
Block a user