案例位置:examples/Cuda/QtGUI/Qt_SelectNode
功能介绍:该案例主要向用户展示PeriDyno引擎中,三维模型的变换,包括平移变换,缩放变换和旋转变换。
案例说明: 案例中展示了两个三维模型,选择选项卡上的Translate、Scale、Rotate按钮可以通过鼠标直接在视图上对模型进行基本的变换。
接下来介绍案例的实现过程:
//Create a sphere
auto sphere0 = scn->addNode(std::make_shared<SphereModel<DataType3f>>());
sphere0->varLocation()->setValue(Vec3f(-0.5f, 0.1f, 0.0f));
sphere0->varRadius()->setValue(0.2f);
//Create a sphere
auto sphere1 = scn->addNode(std::make_shared<SphereModel<DataType3f>>());
sphere1->varLocation()->setValue(Vec3f(0.5f, 0.1f, 0.0f));
sphere1->varRadius()->setValue(0.2f);
球体模型继承于ParametricModel类。ParametricModel类封装了这三种操作:
DEF_VAR(Coord, Location, 0, "Node location");
DEF_VAR(Coord, Rotation, 0, "Node rotation");
DEF_VAR(Coord, Scale, Coord(1), "Node scale");