#pragma once #include "cvfBase.h" #include "cvfObject.h" #include "cvfVector3.h" #include "cvfArray.h" #include "cvfBoundingBox.h" namespace cvf { class DrawableGeo; } namespace caf { //================================================================================================== // // //================================================================================================== class BoxManipulatorGeometryGenerator : public cvf::Object { public: BoxManipulatorGeometryGenerator(); ~BoxManipulatorGeometryGenerator() override; void setOrigin(const cvf::Vec3d& origin); void setSize(const cvf::Vec3d& size); cvf::ref createBoundingBoxMeshDrawable(); private: void calculateArrays(); static cvf::ref lineIndicesFromQuadVertexArray(const cvf::Vec3fArray* vertexArray); private: cvf::Vec3d m_origin; cvf::Vec3d m_size; cvf::ref m_vertices; }; }