42 MRVIEWER_API
void draw(
const Viewport& vp,
const AffineXf3f& rotXf,
const AffineXf3f& vpInvXf );
50 std::shared_ptr<Object> rootObj_;
51 std::vector<boost::signals2::scoped_connection> connections_;
53 PickedIds pick_(
const Vector2f& mousePos )
const;
54 void hover_(
const Vector2f& mousePos );
55 bool press_(
const Vector2f& mousePos );
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
Definition MRViewportId.h:16
stores mask of viewport unique identifiers
Definition MRViewportId.h:42
Definition MRViewport.h:49
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...
ViewportId vId
Definition MRViewportCornerController.h:25
const TexturePerFace & getCornerControllerTextureMap()
ImVec2 size(const ViewportRectangle &rect)
Definition MRViewport.h:32
void enable(ViewportMask mask)
enables or disables this object by provided mask
SideRegions
Definition MRViewportCornerController.h:14
void resetRedrawFlag()
marks this object as drawn
bool ccw(const Vector2i &a, const Vector2i &b)
TexturePerFace getCornerControllerHoveredTextureMap(RegionId rId)
returns textures map with region faces hovered
ViewportMask getEnabledMask() const
returns the mask of viewports where this object is currently enabled
RegionId getCornerControllerRegionByFace(FaceId face)
returns region id of corner controller by its face
void draw(const Viewport &vp, const AffineXf3f &rotXf, const AffineXf3f &vpInvXf)
draw this object in given viewport in position of basis axes
RegionId rId
Definition MRViewportCornerController.h:26
Vector< MeshTexture, TextureId > loadCornerControllerTextures()
Loads 3 textures for corner controller: default, side hovered, corner hovered.
VertUVCoords makeCornerControllerUVCoords(float cornerRatio=0.2f)
Creates UV coordinates for makeCornerControllerMesh output mesh for texture like: "Right"" Left " " T...
bool getRedrawFlag(ViewportMask mask) const
returns true if objects requires redraw
void updateCurrentViewByControllerRegion(CornerControllerObject::PickedIds pickedId)
setup camera for selected viewport by corner controller region
CornerControllerObject()=default
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...
bool operator==(const PickedIds &other) const =default
void initDefault()
initialize this object with default settings
@ other
Angle, normally float. Measure in radians.
Definition MRFeatureObject.h:27
@ CWArrow
Definition MRViewportCornerController.h:16
@ CCWArrow
Definition MRViewportCornerController.h:15
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRViewportCornerController.h:24