MeshLib
 
Loading...
Searching...
No Matches
MRSelectScreenLasso.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRViewerFwd.h"
4#include "MRMesh/MRVector2.h"
5
6namespace MR
7{
8
12class MRVIEWER_CLASS SelectScreenLasso
13{
14public:
16 MRVIEWER_API void addPoint( int mouseX, int mouseY );
17
19 const Contour2f& getScreenPoints() const { return screenPoints_; };
20
22 void cleanScreenPoints() { screenPoints_.clear(); };
23
30
36 MRVIEWER_API BitSet calculateSelectedPixelsNearPolygon( float radiusPix );
37
38private:
39 Contour2f screenPoints_;
40};
41
48MRVIEWER_API FaceBitSet findIncidentFaces( const Viewport& viewport, const BitSet& pixBs, const ObjectMesh& obj,
49 bool onlyVisible = false, bool includeBackfaces = true,
50 const std::vector<ObjectMesh*> * occludingMeshes = nullptr ); // these meshes can influence face visibility in onlyVisible=true mode
51
59MRVIEWER_API void appendGPUVisibleFaces( const Viewport& viewport, const BitSet& pixBs, const std::vector<std::shared_ptr<ObjectMesh>>& objects,
60 std::vector<FaceBitSet>& visibleFaces, bool includeBackfaces = true );
61
68MRVIEWER_API VertBitSet findVertsInViewportArea( const Viewport& viewport, const BitSet& bsVec, const ObjectPoints& obj,
69 bool includeBackfaces = true, bool onlyVisible = false );
70
71}
Definition MRDotNet/MRBitSet.h:39
container of bits
Definition MRMesh/MRBitSet.h:26
Definition MRObjectMesh.h:11
Definition MRObjectPoints.h:11
Definition MRSelectScreenLasso.h:13
MRVIEWER_API BitSet calculateSelectedPixelsInsidePolygon()
const Contour2f & getScreenPoints() const
get current points in contour
Definition MRSelectScreenLasso.h:19
MRVIEWER_API void addPoint(int mouseX, int mouseY)
add point to contour
MRVIEWER_API BitSet calculateSelectedPixelsNearPolygon(float radiusPix)
void cleanScreenPoints()
clean contour
Definition MRSelectScreenLasso.h:22
Definition MRViewport.h:49
Definition MRCameraOrientationPlugin.h:7
MRVIEWER_API FaceBitSet findIncidentFaces(const Viewport &viewport, const BitSet &pixBs, const ObjectMesh &obj, bool onlyVisible=false, bool includeBackfaces=true, const std::vector< ObjectMesh * > *occludingMeshes=nullptr)
Contour2< float > Contour2f
Definition MRMesh/MRMeshFwd.h:274
MRVIEWER_API VertBitSet findVertsInViewportArea(const Viewport &viewport, const BitSet &bsVec, const ObjectPoints &obj, bool includeBackfaces=true, bool onlyVisible=false)
MRVIEWER_API void appendGPUVisibleFaces(const Viewport &viewport, const BitSet &pixBs, const std::vector< std::shared_ptr< ObjectMesh > > &objects, std::vector< FaceBitSet > &visibleFaces, bool includeBackfaces=true)