void Handle::initAxisHandleObjects() { // assumes none of them have been created yet Handle::pObjectXTranslateHandleLine = new Cylinder(1.0f, 0.03f, 6, 1); Handle::pObjectYTranslateHandleLine = new Cylinder(1.0f, 0.03f, 6, 1); Handle::pObjectZTranslateHandleLine = new Cylinder(1.0f, 0.03f, 6, 1); Handle::pObjectXTranslateHandleHead = new Cone(0.2f, 0.07f, 8); Handle::pObjectYTranslateHandleHead = new Cone(0.2f, 0.07f, 8); Handle::pObjectZTranslateHandleHead = new Cone(0.2f, 0.07f, 8); Cylinder *pX = Handle::pObjectXTranslateHandleLine; Cylinder *pY = Handle::pObjectYTranslateHandleLine; Cylinder *pZ = Handle::pObjectZTranslateHandleLine; pX->setObjectID(eXTranslate); pX->setPosition(Point(0.6f, 0.0f, 0.0f)); pX->rotate(0.0f, 0.0f, 90.0f); pX->constructGeometry(); pY->setObjectID(eYTranslate); pY->setPosition(Point(0.0f, 0.6f, 0.0f)); pY->constructGeometry(); pZ->setObjectID(eZTranslate); pZ->setPosition(Point(0.0f, 0.0f, 0.6f)); pZ->rotate(-90.0f, 0.0f, 0.0f); pZ->constructGeometry(); Cone *pXHead = Handle::pObjectXTranslateHandleHead; Cone *pYHead = Handle::pObjectYTranslateHandleHead; Cone *pZHead = Handle::pObjectZTranslateHandleHead; pXHead->setObjectID(eXTranslate); pXHead->setPosition(Point(1.1f, 0.0f, 0.0f)); pXHead->rotate(0.0f, 0.0f, -90.0f); pXHead->constructGeometry(); pYHead->setObjectID(eYTranslate); pYHead->setPosition(Point(0.0f, 1.1f, 0.0f)); pYHead->constructGeometry(); pZHead->setObjectID(eZTranslate); pZHead->setPosition(Point(0.0f, 0.0f, 1.1f)); pZHead->rotate(90.0f, 0.0f, 0.0f); pZHead->constructGeometry(); /// object rotate Torus* pXRotate = new Torus(kObjectRotateHandleThickness, kObjectRotateHandleRadius, kObjectRotateHandleSegments, kObjectRotateHandleSides); Torus* pYRotate = new Torus(kObjectRotateHandleThickness, kObjectRotateHandleRadius, kObjectRotateHandleSegments, kObjectRotateHandleSides); Torus* pZRotate = new Torus(kObjectRotateHandleThickness, kObjectRotateHandleRadius, kObjectRotateHandleSegments, kObjectRotateHandleSides); Handle::pObjectXRotateHandleLoop = pXRotate; Handle::pObjectYRotateHandleLoop = pYRotate; Handle::pObjectZRotateHandleLoop = pZRotate; pXRotate->setObjectID(eXRotate); pXRotate->rotate(0.0f, 0.0f, -90.0f); pXRotate->constructGeometry(); pYRotate->setObjectID(eYRotate); pYRotate->rotate(0.0f, 0.0f, 0.0f); pYRotate->constructGeometry(); pZRotate->setObjectID(eZRotate); pZRotate->rotate(90.0f, 0.0f, 0.0f); pZRotate->constructGeometry(); /// face Handle::pFaceNormalTranslateHandleLine = new Cylinder(1.0f, 0.03f, 6, 1); Handle::pFaceNormalTranslateHandleHead = new Cone(0.2f, 0.07f, 8); Handle::pFaceExtrude = new Cube(0.05f); Cylinder* pFaceNormalLine = Handle::pFaceNormalTranslateHandleLine; pFaceNormalLine->setObjectID(eFaceNormalTranslate); pFaceNormalLine->setPosition(Point(0.0f, 0.6f, 0.0f)); pFaceNormalLine->constructGeometry(); Cone* pFaceNormalHead = Handle::pFaceNormalTranslateHandleHead; pFaceNormalHead->setObjectID(eFaceNormalTranslate); pFaceNormalHead->setPosition(Point(0.0f, 1.1f, 0.0f)); pFaceNormalHead->constructGeometry(); Cube* pFaceExtrude = Handle::pFaceExtrude; pFaceExtrude->setObjectID(eFaceExtrude); pFaceExtrude->setPosition(Point(0.0f, 1.4f, 0.0f)); pFaceExtrude->constructGeometry(); Handle::pFaceTranslateXLine = new Cylinder(1.0f, 0.03f, 6, 1); Handle::pFaceTranslateYLine = new Cylinder(1.0f, 0.03f, 6, 1); Cylinder* pFaceTranslateXLine = Handle::pFaceTranslateXLine; pFaceTranslateXLine->setObjectID(eFaceTranslateX); pFaceTranslateXLine->setRotation(Vector(0.0f, 0.0f, -90.0f)); pFaceTranslateXLine->setPosition(Point(0.6f, 0.0f, 0.0f)); pFaceTranslateXLine->constructGeometry(); Cylinder* pFaceTranslateYLine = Handle::pFaceTranslateYLine; pFaceTranslateYLine->setObjectID(eFaceTranslateY); pFaceTranslateYLine->setRotation(Vector(90.0f, 0.0f, 0.0f)); pFaceTranslateYLine->setPosition(Point(0.0f, 0.0f, 0.6f)); pFaceTranslateYLine->constructGeometry(); Handle::pFaceTranslateXHead = new Cone(0.2f, 0.07f, 8); Handle::pFaceTranslateYHead = new Cone(0.2f, 0.07f, 8); Cone* pFaceTranslateXHead = Handle::pFaceTranslateXHead; pFaceTranslateXHead->setObjectID(eFaceTranslateX); pFaceTranslateXHead->setRotation(Vector(0.0f, 0.0f, -90.0f)); pFaceTranslateXHead->setPosition(Point(1.1f, 0.0f, 0.0f)); pFaceTranslateXHead->constructGeometry(); Cone* pFaceTranslateYHead = Handle::pFaceTranslateYHead; pFaceTranslateYHead->setObjectID(eFaceTranslateY); pFaceTranslateYHead->setRotation(Vector(90.0f, 0.0f, 0.0f)); pFaceTranslateYHead->setPosition(Point(0.0f, 0.0f, 1.1f)); pFaceTranslateYHead->constructGeometry(); // Handle::pFaceScaleX = new Cube(0.05f); Handle::pFaceScaleY = new Cube(0.05f); Handle::pFaceScaleUniform = new Cube(0.05f); Cube* pFaceScaleX = Handle::pFaceScaleX; pFaceScaleX->setObjectID(eFaceScaleX); pFaceScaleX->setPosition(Point(1.4f, 0.0f, 0.0f)); pFaceScaleX->setRotation(Vector(-90.0f, 0.0f, 0.0f)); pFaceScaleX->constructGeometry(); Cube* pFaceScaleY = Handle::pFaceScaleY; pFaceScaleY->setObjectID(eFaceScaleY); pFaceScaleY->setPosition(Point(0.0f, 0.0f, 1.4f)); pFaceScaleY->constructGeometry(); Cube* pFaceScaleUniform = Handle::pFaceScaleUniform; pFaceScaleUniform->setObjectID(eFaceScaleUniform); pFaceScaleUniform->setPosition(Point(1.4f, 0.0f, 1.4f)); pFaceScaleUniform->constructGeometry(); }