Skip to content

RPolyMeshDataProxy

Class in Entity Module
Header: #include <src/entity/RPolyMeshDataProxy.h>

Proxy for polygon mesh functionality (edges, triangulation, reference points, splitting).

May be implemented by a plugin.

virtual ~RPolyMeshDataProxy()
virtual QList< RRefPoint > getReferencePoints(const RPolyMeshData &data, RS::ProjectionRenderingHint hint) const =0 = 0
virtual QList< QSharedPointer< RShape > > getShapes(const RPolyMeshData &data, const RBox &queryBox, bool ignoreComplex, bool segment) const =0 = 0
virtual QList< RTriangle > getTriangles(const RPolyMeshData &data) const =0 = 0
virtual bool isSane(const RPolyMeshData &data) const =0 = 0
virtual bool moveReferencePoint(RPolyMeshData &data, const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers) const =0 = 0
virtual QList< RPolyMeshData > split(const RPolyMeshData &data, int maxVertices, int maxFaces, int maxFaceVertices) const =0 = 0
Splits the given mesh into parts with at most the given number of vertices and faces, each face with at most the given number of vertices (faces with more vertices are triangulated).

virtual RPolyMeshDataProxy::~RPolyMeshDataProxy()

virtual inline

virtual QList< RRefPoint > RPolyMeshDataProxy::getReferencePoints(const RPolyMeshData &data, RS::ProjectionRenderingHint hint) const =0 = 0

pure virtual const

virtual QList< QSharedPointer< RShape > > RPolyMeshDataProxy::getShapes(const RPolyMeshData &data, const RBox &queryBox, bool ignoreComplex, bool segment) const =0 = 0

pure virtual const

Returns: The visible edges of the given mesh as shapes (lines), every edge once. Edges outside the given query box are omitted if the box is valid.

virtual QList< RTriangle > RPolyMeshDataProxy::getTriangles(const RPolyMeshData &data) const =0 = 0

pure virtual const

Returns: The faces of the given mesh as triangles (faces with more than three vertices are triangulated).

virtual bool RPolyMeshDataProxy::isSane(const RPolyMeshData &data) const =0 = 0

pure virtual const

Returns: True if all faces of the given mesh have at least three vertices and refer to existing vertices.

virtual bool RPolyMeshDataProxy::moveReferencePoint(RPolyMeshData &data, const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers) const =0 = 0

pure virtual const

virtual QList< RPolyMeshData > RPolyMeshDataProxy::split(const RPolyMeshData &data, int maxVertices, int maxFaces, int maxFaceVertices) const =0 = 0

pure virtual const

Splits the given mesh into parts with at most the given number of vertices and faces, each face with at most the given number of vertices (faces with more vertices are triangulated).

Vertices shared by faces of different parts are duplicated.

Returns: The parts (one part if the mesh fits into the limits).