15 auto triSet = std::make_shared<TriangleSet<TDataType>>();
16 this->stateTriangleSet()->setDataPtr(triSet);
20 auto surfaceRender = std::make_shared<GLSurfaceVisualModule>();
21 surfaceRender->setColor(
Color(0.8f, 0.52f, 0.25f));
22 surfaceRender->setVisible(
true);
23 this->stateTriangleSet()->connect(surfaceRender->inTriangleSet());
26 auto callFileLoader = std::make_shared<FCallBackFunc>(
28 auto initTopo = this->stateInitialTriangleSet()->getDataPtr();
29 auto curTopo = this->stateTriangleSet()->getDataPtr();
31 std::string fileName = this->varFileName()->getValue().string();
35 initTopo->loadObjFile(fileName);
36 curTopo->copyFrom(*initTopo);
38 curTopo->scale(this->varScale()->getValue());
39 curTopo->rotate(this->varRotation()->getValue() *
M_PI / 180);
40 curTopo->translate(this->varLocation()->getValue());
46 this->varFileName()->attach(callFileLoader);
48 auto transform = std::make_shared<FCallBackFunc>(
50 auto initTopo = this->stateInitialTriangleSet()->getDataPtr();
51 auto curTopo = this->stateTriangleSet()->getDataPtr();
53 curTopo->copyFrom(*initTopo);
54 curTopo->scale(this->varScale()->getValue());
55 curTopo->rotate(this->varRotation()->getValue() *
M_PI / 180);
56 curTopo->translate(this->varLocation()->getValue());
59 this->varLocation()->attach(transform);
60 this->varScale()->attach(transform);
61 this->varRotation()->attach(transform);
63 this->stateTriangleSet()->promoteOuput();