// // Created on 2026/3/30. // // Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, // please include "napi/native_api.h". #include "V3dTriCube.h" #include "Graphic3d_TransModeFlags.hxx" #ifndef NATIVE_TAG #define NATIVE_TAG "V3DTRICUBE" #endif namespace NativeNXEA { V3dTriCube::V3dTriCube(): triCube(nullptr) { } V3dTriCube::~V3dTriCube(){ } bool V3dTriCube::InitV3dTriCube(Handle(AIS_InteractiveContext)& ctx){ try { // 视图立方体 triCube = new AIS_ViewCube(); triPers=new Graphic3d_TransformPers( Graphic3d_TMF_TriedronPers, // 随缩放保持大小 Aspect_TOTP_LEFT_UPPER, // 固定在左下角 NCollection_Vec2(150, 150) // 离左下角偏移 10 像素 ); triCube->SetTransformPersistence(triPers); triCube->SetBoxSideLabel(V3d_Xpos, TCollection_AsciiString(rightCube.c_str())); triCube->SetBoxSideLabel(V3d_Ypos, TCollection_AsciiString(backCube.c_str())); triCube->SetBoxSideLabel(V3d_Zpos, TCollection_AsciiString(topCube.c_str())); triCube->SetBoxSideLabel(V3d_Xneg, TCollection_AsciiString(leftCube.c_str())); triCube->SetBoxSideLabel(V3d_Yneg, TCollection_AsciiString(frontCube.c_str())); triCube->SetBoxSideLabel(V3d_Zneg, TCollection_AsciiString(bottomCube.c_str())); triCube->SetSize(100, true); triCube->SetFontHeight(30); triCube->SetZLayer(Graphic3d_ZLayerId_TopOSD); ctx->Display(triCube, true); HILOG_INFO(NATIVE_TAG, "Init V3dTriCube Done"); return true; } catch (std::exception &e) { HILOG_INFO(NATIVE_TAG, "Init V3dTriCube Fail:%s", e.what()); return false; } } }