void create3DObjects(void) { // Make Object Nodes NodeRefPtr ExampleTorusGeo = makeTorus(90, 270, 16, 16); NodeRefPtr ExampleConeGeo = makeCone(150, 50, 16, true, true); NodeRefPtr ExampleSphereGeo = makeSphere(4, 100); NodeRefPtr ExampleBoxGeo = makeBox(100, 100, 100, 1, 1, 1); // AssignTextures dynamic_cast<Geometry*>(ExampleConeGeo->getCore())->setMaterial(createBlueMaterial()); dynamic_cast<Geometry*>(ExampleSphereGeo->getCore())->setMaterial(createRedMaterial()); dynamic_cast<Geometry*>(ExampleBoxGeo->getCore())->setMaterial(createGreenMaterial()); // Preform transformations on them Matrix mat; // On Torus mat.setTranslate(0.0,100.0,-200.0); TransformRefPtr TorusTranCore = Transform::create(); TorusTranCore->setMatrix(mat); ExampleTorus = Node::create(); ExampleTorus->setCore(TorusTranCore); ExampleTorus->addChild(ExampleTorusGeo); // On Sphere mat.setTranslate(250.0,0.0,0.0); TransformRefPtr SphereTranCore = Transform::create(); SphereTranCore->setMatrix(mat); ExampleSphere = Node::create(); ExampleSphere->setCore(SphereTranCore); ExampleSphere->addChild(ExampleSphereGeo); // On Cone mat.setTranslate(0.0,0.0,-250.0); TransformRefPtr ConeTranCore = Transform::create(); ConeTranCore->setMatrix(mat); ExampleCone = Node::create(); ExampleCone->setCore(ConeTranCore); ExampleCone->addChild(ExampleConeGeo); // On Box mat.setTranslate(250.0,250.0,0.0); TransformRefPtr ExampleBoxTranCore = Transform::create(); ExampleBoxTranCore->setMatrix(mat); ExampleBox = Node::create(); ExampleBox->setCore(ExampleBoxTranCore); ExampleBox->addChild(ExampleBoxGeo); }
NodeTransitPtr createCone(void) { // Make Object Nodes NodeRecPtr ExampleConeGeo = makeCone(150, 50, 16, true, true); MaterialRecPtr BlueMaterial = createMaterial(Color4f(0.0f,0.0f,1.0f,1.0f)); dynamic_cast<Geometry*>(ExampleConeGeo->getCore())->setMaterial(BlueMaterial); // Preform transformations on them Matrix mat; // On Cone mat.setTranslate(0.0,0.0,-250.0); TransformRecPtr ConeTranCore = Transform::create(); ConeTranCore->setMatrix(mat); NodeRecPtr ExampleCone = Node::create(); ExampleCone->setCore(ConeTranCore); ExampleCone->addChild(ExampleConeGeo); ExampleCone->setTravMask(0); return NodeTransitPtr(ExampleCone); }
NodeTransitPtr MoveManipulator::makeHandleGeo() { return makeCone(0.6f, 0.15f, 12, true, true); }
NodePtr MoveManipulator::makeHandleGeo() { return makeCone(0.75, 0.1, 12, true, true); }
void occQt::createActions( void ) { mExitAction = new QAction(tr("Exit"), this); mExitAction->setShortcut(tr("Ctrl+Q")); mExitAction->setIcon(QIcon(":/Resources/close.png")); mExitAction->setStatusTip(tr("Exit the application")); connect(mExitAction, SIGNAL(triggered()), this, SLOT(close())); mViewZoomAction = new QAction(tr("Zoom"), this); mViewZoomAction->setIcon(QIcon(":/Resources/Zoom.png")); mViewZoomAction->setStatusTip(tr("Zoom the view")); connect(mViewZoomAction, SIGNAL(triggered()), mOccView, SLOT(zoom())); mViewPanAction = new QAction(tr("Pan"), this); mViewPanAction->setIcon(QIcon(":/Resources/Pan.png")); mViewPanAction->setStatusTip(tr("Pan the view")); connect(mViewPanAction, SIGNAL(triggered()), mOccView, SLOT(pan())); mViewRotateAction = new QAction(tr("Rotate"), this); mViewRotateAction->setIcon(QIcon(":/Resources/Rotate.png")); mViewRotateAction->setStatusTip(tr("Rotate the view")); connect(mViewRotateAction, SIGNAL(triggered()), mOccView, SLOT(rotate())); mViewResetAction = new QAction(tr("Reset"), this); mViewResetAction->setIcon(QIcon(":/Resources/Home.png")); mViewResetAction->setStatusTip(tr("Reset the view")); connect(mViewResetAction, SIGNAL(triggered()), mOccView, SLOT(reset())); mViewFitallAction = new QAction(tr("Fit All"), this); mViewFitallAction->setIcon(QIcon(":/Resources/FitAll.png")); mViewFitallAction->setStatusTip(tr("Fit all ")); connect(mViewFitallAction, SIGNAL(triggered()), mOccView, SLOT(fitAll())); mMakeBoxAction = new QAction(tr("Box"), this); mMakeBoxAction->setIcon(QIcon(":/Resources/box.png")); mMakeBoxAction->setStatusTip(tr("Make a box")); connect(mMakeBoxAction, SIGNAL(triggered()), this, SLOT(makeBox())); mMakeConeAction = new QAction(tr("Cone"), this); mMakeConeAction->setIcon(QIcon(":/Resources/cone.png")); mMakeConeAction->setStatusTip(tr("Make a cone")); connect(mMakeConeAction, SIGNAL(triggered()), this, SLOT(makeCone())); mMakeSphereAction = new QAction(tr("Sphere"), this); mMakeSphereAction->setStatusTip(tr("Make a sphere")); mMakeSphereAction->setIcon(QIcon(":/Resources/sphere.png")); connect(mMakeSphereAction, SIGNAL(triggered()), this, SLOT(makeSphere())); mMakeCylinderAction = new QAction(tr("Cylinder"), this); mMakeCylinderAction->setStatusTip(tr("Make a cylinder")); mMakeCylinderAction->setIcon(QIcon(":/Resources/cylinder.png")); connect(mMakeCylinderAction, SIGNAL(triggered()), this, SLOT(makeCylinder())); mMakeTorusAction = new QAction(tr("Torus"), this); mMakeTorusAction->setStatusTip(tr("Make a torus")); mMakeTorusAction->setIcon(QIcon(":/Resources/torus.png")); connect(mMakeTorusAction, SIGNAL(triggered()), this, SLOT(makeTorus())); mFilletAction = new QAction(tr("Fillet"), this); mFilletAction->setIcon(QIcon(":/Resources/fillet.png")); mFilletAction->setStatusTip(tr("Test Fillet algorithm")); connect(mFilletAction, SIGNAL(triggered()), this, SLOT(makeFillet())); mChamferAction = new QAction(tr("Chamfer"), this); mChamferAction->setIcon(QIcon(":/Resources/chamfer.png")); mChamferAction->setStatusTip(tr("Test chamfer algorithm")); connect(mChamferAction, SIGNAL(triggered()), this, SLOT(makeChamfer())); mExtrudeAction = new QAction(tr("Extrude"), this); mExtrudeAction->setIcon(QIcon(":/Resources/extrude.png")); mExtrudeAction->setStatusTip(tr("Test extrude algorithm")); connect(mExtrudeAction, SIGNAL(triggered()), this, SLOT(makeExtrude())); mRevolveAction = new QAction(tr("Revolve"), this); mRevolveAction->setIcon(QIcon(":/Resources/revolve.png")); mRevolveAction->setStatusTip(tr("Test revol algorithm")); connect(mRevolveAction, SIGNAL(triggered()), this, SLOT(makeRevol())); mLoftAction = new QAction(tr("Loft"), this); mLoftAction->setIcon(QIcon(":/Resources/loft.png")); mLoftAction->setStatusTip(tr("Test loft algorithm")); connect(mLoftAction, SIGNAL(triggered()), this, SLOT(makeLoft())); mCutAction = new QAction(tr("Cut"), this); mCutAction->setIcon(QIcon(":/Resources/cut.png")); mCutAction->setStatusTip(tr("Boolean operation cut")); connect(mCutAction, SIGNAL(triggered()), this, SLOT(testCut())); mFuseAction = new QAction(tr("Fuse"), this); mFuseAction->setIcon(QIcon(":/Resources/fuse.png")); mFuseAction->setStatusTip(tr("Boolean operation fuse")); connect(mFuseAction, SIGNAL(triggered()), this, SLOT(testFuse())); mCommonAction = new QAction(tr("Common"), this); mCommonAction->setIcon(QIcon(":/Resources/common.png")); mCommonAction->setStatusTip(tr("Boolean operation common")); connect(mCommonAction, SIGNAL(triggered()), this, SLOT(testCommon())); mAboutAction = new QAction(tr("About"), this); mAboutAction->setStatusTip(tr("About the application")); mAboutAction->setIcon(QIcon(":/Resources/lamp.png")); connect(mAboutAction, SIGNAL(triggered()), this, SLOT(about())); }