36 MRVIEWER_API
void draw(
const Viewport& vp,
const AffineXf3f& rotXf,
const AffineXf3f& vpInvXf );
44 std::shared_ptr<Object> rootObj_;
45 std::vector<boost::signals2::scoped_connection> connections_;
47 PickedIds pick_(
const Vector2f& mousePos )
const;
48 void hover_(
const Vector2f& mousePos );
49 bool press_(
const Vector2f& mousePos );
class that holds and manages corner controller object
Definition MRViewportCornerController.h:18
MRVIEWER_API void enable(ViewportMask mask)
enables or disables this object by provided mask
MRVIEWER_API void initDefault()
initialize this object with default settings
MRVIEWER_API void resetRedrawFlag()
marks this object as drawn
MRVIEWER_API void draw(const Viewport &vp, const AffineXf3f &rotXf, const AffineXf3f &vpInvXf)
draw this object in given viewport in position of basis axes
MRVIEWER_API bool getRedrawFlag(ViewportMask mask) const
returns true if objects requires redraw
CornerControllerObject()=default
std::vector<T>-like container that requires specific indexing type,
Definition MRMesh/MRVector.h:19
Definition MRViewportId.h:16
stores mask of viewport unique identifiers
Definition MRViewportId.h:38
Definition MRViewport.h:46
Definition MRCameraOrientationPlugin.h:8
MRMESH_API bool ccw(const Vector2i &a, const Vector2i &b)
MRVIEWER_API RegionId getCornerControllerRegionByFace(FaceId face)
returns region id of corner controller by its face
ImVec2 size(const ViewportRectangle &rect)
Definition MRViewport.h:29
SideRegions
Definition MRViewportCornerController.h:11
MRVIEWER_API Mesh makeCornerControllerMesh(float size, float cornerRatio=0.2f)
Makes cube mesh with specified face structure for each 3-rank corner, each 2-rank corner and each sid...
MRVIEWER_API VertUVCoords makeCornerControllerUVCoords(float cornerRatio=0.2f)
Creates UV coordinates for makeCornerControllerMesh output mesh for texture like: "Right"" Left " " T...
MRVIEWER_API const TexturePerFace & getCornerControllerTexureMap()
MRVIEWER_API Vector< MeshTexture, TextureId > loadCornerControllerTextures()
Loads 3 textures for corner controller: default, side hovered, corner hovered.
MRVIEWER_API void updateCurrentViewByControllerRegion(CornerControllerObject::PickedIds pickedId)
setup camera for selected viewport by corner controller region
MRVIEWER_API TexturePerFace getCornerControllerHoveredTextureMap(RegionId rId)
returns textures map with region faces hovered
MRVIEWER_API Mesh makeCornerControllerRotationArrowMesh(float size, const Vector2f &shift, bool ccw)
Makes planar arrow mesh that will be used for controlling in plane rotation in corner near cube contr...
Definition MRViewportCornerController.h:21
ViewportId vId
Definition MRViewportCornerController.h:22
RegionId rId
Definition MRViewportCornerController.h:23
bool operator==(const PickedIds &other) const =default
Definition MRMesh/MRMesh.h:22