TabBoxDragger 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
  2. *
  3. * This library is open source and may be redistributed and/or modified under
  4. * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
  5. * (at your option) any later version. The full license is in LICENSE file
  6. * included with this distribution, and on the openscenegraph.org website.
  7. *
  8. * This library is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * OpenSceneGraph Public License for more details.
  12. */
  13. //osgManipulator - Copyright (C) 2007 Fugro-Jason B.V.
  14. #ifndef OSGMANIPULATOR_TABBOXDRAGGER
  15. #define OSGMANIPULATOR_TABBOXDRAGGER 1
  16. #include <osgManipulator/TabPlaneDragger>
  17. namespace osgManipulator {
  18. /**
  19. * TabBoxDragger consists of 6 TabPlaneDraggers to form a box dragger that
  20. * performs translation and scaling.
  21. */
  22. class OSGMANIPULATOR_EXPORT TabBoxDragger : public CompositeDragger
  23. {
  24. public:
  25. TabBoxDragger();
  26. META_OSGMANIPULATOR_Object(osgManipulator,TabBoxDragger)
  27. /** Setup default geometry for dragger. */
  28. void setupDefaultGeometry();
  29. void setPlaneColor(const osg::Vec4& color);
  30. protected:
  31. virtual ~TabBoxDragger();
  32. std::vector< osg::ref_ptr< TabPlaneDragger > > _planeDraggers;
  33. };
  34. }
  35. #endif