// // Created on 2026/3/23. // // Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, // please include "napi/native_api.h". #ifndef OPENCAX_AXIS_H #define OPENCAX_AXIS_H #include "AIS_ViewCube.hxx" #include "NativeEGLOCCT/common.h" #include #include #include namespace NativeOpenCAX { class Axis { public: Axis(); ~Axis(); bool InitAxis(Handle(AIS_InteractiveContext)& context); bool InitAxisCube(Handle(AIS_InteractiveContext) & context,Handle(Prs3d_TextAspect) _textStyle); void SetRotationX(float x); void SetRotationY(float y); void SetRotationZ(float z); void SetTranslationX(float x); void SetTranslationY(float y); void SetTranslationZ(float z); void SetZoomLevel(float level); private: Handle(Geom_Axis2Placement) axiPlacement; Handle(AIS_Trihedron) axiTrihedron; //定义三面体 Handle(AIS_ViewCube) axiViewCube; private: //旋转X轴 float rotationX=0.0f; //旋转Y轴 float rotationY=0.0f; //旋转Z轴 float rotationZ=0.0f; //缩放等级 float zoomLevel=1.0f; //翻转X轴 float translationX=0.0f; //翻转Y轴 float translationY=0.0f; //翻转Z轴 float translationZ=0.0f; }; } #endif //OPENCAX_AXIS_H