基本模块组成
- log日志模块:用于记录用户操作,软件运行情况,包括各种不同级别的日志信息,例如debug/client/warning/error/fatal.
- util模块:提供软件需要的通用、共用的一些基础功能,例如全局系统配置、字符串、通用数学几何运算等feature.
- geometry几何模块:定义基本的几何体,例如点、直线、折线、样条曲线、圆、椭圆、矩形、多边形等;并提供基本几何算法,可能包括交叉、分割、布尔、偏移、仿射变换等计算方法.
- rw模块:除了支持软件自定义文件格式的读写,还要支持一些通用的、符合相关标准的文件格式,例如dxf, plt, ai, nc等.
- algorithm算法模块:实现多种高级几何算法,视软件功能需要而定.
- nest或pack算法模块:实现零件排样、排序的高级算法.
- operator操作模块:实现用户进行软件操作、UI交互的相关内容.
- view视图模块:实现几何图形绘制、捕捉、操作引导等相关内容的展示.
- attribute属性模块:实现诸如图层等相关内容.
- 额外的其他模块等.
软件CMake文件的设置
cmake_minimum_required(VERSION 3.17)
project(JCad)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_PREFIX_PATH /home/youraccountname/Softwares/Qt5.12.6/5.12.6/gcc_64)
set(${CMAKE_PREFIX_PATH}/include)
find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED)
# include(${CM