Integrade OpenCASCADE
This commit is contained in:
@@ -9,6 +9,24 @@ set(CMAKE_AUTORCC ON)
|
|||||||
set(CMAKE_AUTOUIC ON)
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
find_package(Qt6 COMPONENTS Widgets OpenGLWidgets REQUIRED)
|
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
|
add_executable(OpenCAD
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
@@ -24,4 +42,13 @@ add_executable(OpenCAD
|
|||||||
resources.qrc
|
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;
|
return m_plane;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const TopoDS_Shape& SketchFeature::shape() const
|
||||||
|
{
|
||||||
|
return m_shape;
|
||||||
|
}
|
||||||
|
|
||||||
void SketchFeature::read(const QJsonObject& json)
|
void SketchFeature::read(const QJsonObject& json)
|
||||||
{
|
{
|
||||||
Feature::read(json);
|
Feature::read(json);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#ifndef SKETCHFEATURE_H
|
#ifndef SKETCHFEATURE_H
|
||||||
#define SKETCHFEATURE_H
|
#define SKETCHFEATURE_H
|
||||||
|
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
#include "Feature.h"
|
#include "Feature.h"
|
||||||
|
|
||||||
class SketchFeature : public Feature
|
class SketchFeature : public Feature
|
||||||
@@ -19,11 +20,14 @@ public:
|
|||||||
void setPlane(SketchPlane plane);
|
void setPlane(SketchPlane plane);
|
||||||
SketchPlane plane() const;
|
SketchPlane plane() const;
|
||||||
|
|
||||||
|
const TopoDS_Shape& shape() const;
|
||||||
|
|
||||||
void read(const QJsonObject &json) override;
|
void read(const QJsonObject &json) override;
|
||||||
void write(QJsonObject &json) const override;
|
void write(QJsonObject &json) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SketchPlane m_plane;
|
SketchPlane m_plane;
|
||||||
|
TopoDS_Shape m_shape;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SKETCHFEATURE_H
|
#endif // SKETCHFEATURE_H
|
||||||
|
|||||||
Reference in New Issue
Block a user