2#include "MRViewerFwd.h"
26 return a.
a == b.
a && a.
b == b.
b;
95 int maxRenderResolutionSide )
const;
106 int maxRenderResolutionSide )
const;
114 struct PickTextureFrameBuffer
120 unsigned int framebuffer_{ 0 };
121 unsigned int colorTexture_{ 0 };
122 unsigned int renderbuffer_{ 0 };
125 mutable PickTextureFrameBuffer pickFBO_;
127 std::vector<PickColor> pickObjectsInRect_(
const PickParameters& params,
const Box2i& rect )
const;
129 bool inited_ =
false;
131 GLuint add_line_colors_vbo = 0;
135 GLuint add_point_colors_vbo = 0;
139 GLuint border_line_vbo = 0;
140 GLuint border_line_vao = 0;
This class holds data needed to render viewport primitives and accumulative picker via OpenGL.
Definition MRViewportGL.h:43
MRMESH_API bool operator==(const BitSet &a, const BitSet &b)
compare that two bit sets have the same set bits (they can be equal even if sizes are distinct but la...
Vector4f a
Definition MRViewportGL.h:21
BasePickResults pickRes
Definition MRViewportGL.h:100
unsigned primId
id of picked object in PickParameters::renderVector (-1 means invalid)
Definition MRViewportGL.h:81
MRVIEWER_API ViewportGL(ViewportGL &&other) noexcept
Box2i updatedBox
Definition MRViewportGL.h:101
std::vector< BasePickResult > BasePickResults
Definition MRViewportGL.h:97
unsigned int GLuint
Definition MRViewportGL.h:45
ImVec2 size(const ViewportRectangle &rect)
Definition MRViewport.h:32
Vector4f b
Definition MRViewportGL.h:21
void fillViewport(const Box2f &rect, const Color &color) const
Fills viewport with given color (clear frame buffer)
ViewportGL(const ViewportGL &)
Copy operators do nothing, not to share GL data.
Definition MRViewportGL.h:50
float GLfloat
Definition MRViewportGL.h:46
bool checkInit() const
Check that members have been initialized.
BaseRenderParams baseRenderParams
objects to pick
Definition MRViewportGL.h:75
float zBuffer
Definition MRViewportGL.h:87
std::vector< PickResult > PickResults
Definition MRViewportGL.h:89
unsigned color[4]
Definition MRViewportGL.h:111
void resize(const Vector2i &size)
unsigned geomId
Definition MRViewportGL.h:80
PickResults pickObjects(const PickParameters ¶ms, const std::vector< Vector2i > &picks) const
Find picked object, face id and z coordinate, of objects given in parameters (works for vector of pic...
void init()
Initialize all GL buffers and arrays.
std::vector< Vector3f > points
Definition MRViewportGL.h:32
void free()
Free all GL data.
std::vector< Vector4f > colors
Definition MRViewportGL.h:33
ViewportGL & operator=(const ViewportGL &)
Definition MRViewportGL.h:51
std::span< VisualObject *const > renderVector
Definition MRViewportGL.h:74
void drawBorder(const Box2f &rect, const Color &color) const
Binds and draws viewport border.
std::vector< unsigned > findUniqueObjectsInRect(const PickParameters ¶ms, const Box2i &rect, int maxRenderResolutionSide) const
ScaledPickRes pickObjectsInRect(const PickParameters ¶ms, const Box2i &rect, int maxRenderResolutionSide) const
Plane3f clippingPlane
parameters for rendering pick object
Definition MRViewportGL.h:76
@ other
Angle, normally float. Measure in radians.
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Common rendering parameters for meshes and UI.
Definition MRIRenderObject.h:36
colors of segment ends
Definition MRViewportGL.h:20
Definition MRViewportGL.h:79
Parameters of objects picking.
Definition MRViewportGL.h:73
Result of object picking.
Definition MRViewportGL.h:86
Definition MRViewportGL.h:99
stores points and corresponding colors (sizes of vectors should be the same)
Definition MRViewportGL.h:31