|
const ViewportProperty< uint8_t > & | getGlobalAlphaForAllViewports () const override |
| returns global transparency alpha of object in all viewports
|
|
| ObjectMesh ()=default |
|
| ObjectMesh (ObjectMesh &&) noexcept=default |
|
ObjectMesh & | operator= (ObjectMesh &&) noexcept=default |
|
virtual const char * | typeName () const override |
|
virtual const std::shared_ptr< Mesh > & | varMesh () |
| returns variable mesh, if const mesh is needed use mesh() instead
|
|
virtual MRMESH_API void | setMesh (std::shared_ptr< Mesh > mesh) |
| sets given mesh to this, resets selection and creases
|
|
virtual MRMESH_API std::shared_ptr< Mesh > | updateMesh (std::shared_ptr< Mesh > mesh) |
|
virtual MRMESH_API std::vector< std::string > | getInfoLines () const override |
| return several info lines that can better describe the object in the UI
|
|
virtual std::string | getClassName () const override |
| return human readable name of subclass
|
|
virtual MRMESH_API std::shared_ptr< Object > | clone () const override |
|
virtual MRMESH_API std::shared_ptr< Object > | shallowClone () const override |
|
virtual MRMESH_API void | setDirtyFlags (uint32_t mask, bool invalidateCaches=true) override |
|
| ObjectMesh (ProtectedStruct, const ObjectMesh &obj) |
|
MRMESH_API MeshIntersectionResult | worldRayIntersection (const Line3f &worldRay, const FaceBitSet *region=nullptr) const |
|
MRMESH_API | ObjectMeshHolder () |
|
| ObjectMeshHolder (ObjectMeshHolder &&) noexcept=default |
|
ObjectMeshHolder & | operator= (ObjectMeshHolder &&) noexcept=default |
|
virtual MRMESH_API void | applyScale (float scaleFactor) override |
| scale object size (all point positions)
|
|
virtual MRMESH_API bool | hasVisualRepresentation () const override |
| mesh object can be seen if the mesh has at least one edge
|
|
virtual bool | hasModel () const override |
|
const std::shared_ptr< const Mesh > & | mesh () const |
|
MeshPart | meshPart () const |
|
const FaceBitSet & | getSelectedFaces () const |
|
virtual MRMESH_API void | selectFaces (FaceBitSet newSelection) |
|
MRMESH_API const Color & | getSelectedFacesColor (ViewportId id={}) const |
| returns colors of selected triangles
|
|
virtual MRMESH_API void | setSelectedFacesColor (const Color &color, ViewportId id={}) |
| sets colors of selected triangles
|
|
const UndirectedEdgeBitSet & | getSelectedEdges () const |
|
virtual MRMESH_API void | selectEdges (UndirectedEdgeBitSet newSelection) |
|
MRMESH_API const Color & | getSelectedEdgesColor (ViewportId id={}) const |
| returns colors of selected edges
|
|
virtual MRMESH_API void | setSelectedEdgesColor (const Color &color, ViewportId id={}) |
| sets colors of selected edges
|
|
MRMESH_API const ViewportProperty< Color > & | getSelectedEdgesColorsForAllViewports () const |
|
virtual MRMESH_API void | setSelectedEdgesColorsForAllViewports (ViewportProperty< Color > val) |
|
MRMESH_API const ViewportProperty< Color > & | getSelectedFacesColorsForAllViewports () const |
|
virtual MRMESH_API void | setSelectedFacesColorsForAllViewports (ViewportProperty< Color > val) |
|
MRMESH_API const ViewportProperty< Color > & | getEdgesColorsForAllViewports () const |
|
virtual MRMESH_API void | setEdgesColorsForAllViewports (ViewportProperty< Color > val) |
|
MRMESH_API const ViewportProperty< Color > & | getBordersColorsForAllViewports () const |
|
virtual MRMESH_API void | setBordersColorsForAllViewports (ViewportProperty< Color > val) |
|
const UndirectedEdgeBitSet & | creases () const |
| Edges on mesh, that will have sharp visualization even with smooth shading.
|
|
virtual MRMESH_API void | setCreases (UndirectedEdgeBitSet creases) |
|
void | setFlatShading (bool on) |
| sets flat (true) or smooth (false) shading
|
|
bool | flatShading () const |
|
MRMESH_API bool | supportsVisualizeProperty (AnyVisualizeMaskEnum type) const override |
| Returns true if this class supports the property type . Otherwise passing it to the functions below is illegal.
|
|
MRMESH_API AllVisualizeProperties | getAllVisualizeProperties () const override |
| get all visualize properties masks
|
|
MRMESH_API const ViewportMask & | getVisualizePropertyMask (AnyVisualizeMaskEnum type) const override |
| returns mask of viewports where given property is set
|
|
const FaceColors & | getFacesColorMap () const |
|
virtual void | setFacesColorMap (FaceColors facesColorMap) |
|
virtual void | updateFacesColorMap (FaceColors &updated) |
|
virtual MRMESH_API void | setEdgeWidth (float edgeWidth) |
|
float | getEdgeWidth () const |
|
virtual MRMESH_API void | setPointSize (float size) |
|
virtual float | getPointSize () const |
|
const Color & | getEdgesColor (ViewportId id={}) const |
|
virtual void | setEdgesColor (const Color &color, ViewportId id={}) |
|
const Color & | getPointsColor (ViewportId id={}) const |
|
virtual void | setPointsColor (const Color &color, ViewportId id={}) |
|
const Color & | getBordersColor (ViewportId id={}) const |
|
virtual void | setBordersColor (const Color &color, ViewportId id={}) |
|
| ObjectMeshHolder (ProtectedStruct, const ObjectMeshHolder &obj) |
|
MRMESH_API const MeshTexture & | getTexture () const |
| returns first texture in the vector. If there is no textures, returns empty texture
|
|
virtual MRMESH_API void | setTexture (MeshTexture texture) |
|
virtual MRMESH_API void | updateTexture (MeshTexture &updated) |
|
const Vector< MeshTexture, TextureId > & | getTextures () const |
|
virtual void | setTextures (Vector< MeshTexture, TextureId > texture) |
|
virtual void | updateTextures (Vector< MeshTexture, TextureId > &updated) |
|
virtual void | setTexturePerFace (Vector< TextureId, FaceId > texturePerFace) |
|
virtual void | updateTexturePerFace (Vector< TextureId, FaceId > &texturePerFace) |
|
virtual void | addTexture (MeshTexture texture) |
|
const TexturePerFace & | getTexturePerFace () const |
|
const VertUVCoords & | getUVCoords () const |
|
virtual void | setUVCoords (VertUVCoords uvCoordinates) |
|
virtual void | updateUVCoords (VertUVCoords &updated) |
|
virtual MRMESH_API void | copyTextureAndColors (const ObjectMeshHolder &src, const VertMap &thisToSrc, const FaceMap &thisToSrcFaces={}) |
| copies texture, UV-coordinates and vertex colors from given source object
|
|
MRMESH_API void | copyColors (const VisualObject &src, const VertMap &thisToSrc, const FaceMap &thisToSrcFaces={}) override |
| copies point colors from given source object
|
|
const MeshTexture & | getAncillaryTexture () const |
|
virtual void | setAncillaryTexture (MeshTexture texture) |
|
const VertUVCoords & | getAncillaryUVCoords () const |
|
virtual void | setAncillaryUVCoords (VertUVCoords uvCoordinates) |
|
void | updateAncillaryUVCoords (VertUVCoords &updated) |
|
bool | hasAncillaryTexture () const |
|
MRMESH_API void | clearAncillaryTexture () |
|
MRMESH_API uint32_t | getNeededNormalsRenderDirtyValue (ViewportMask viewportMask) const |
| returns dirty flag of currently using normal type if they are dirty in render representation
|
|
virtual MRMESH_API bool | getRedrawFlag (ViewportMask viewportMask) const override |
| returns true if the object must be redrawn (due to dirty flags) in one of specified viewports
|
|
virtual MRMESH_API void | resetDirtyExeptMask (uint32_t mask) const |
| reset dirty flags without some specific bits (useful for lazy normals update)
|
|
MRMESH_API bool | isMeshClosed () const |
| returns cached information whether the mesh is closed
|
|
virtual MRMESH_API Box3f | getWorldBox (ViewportId={}) const override |
|
MRMESH_API size_t | numSelectedFaces () const |
| returns cached information about the number of selected faces in the mesh
|
|
MRMESH_API size_t | numSelectedEdges () const |
| returns cached information about the number of selected undirected edges in the mesh
|
|
MRMESH_API size_t | numCreaseEdges () const |
| returns cached information about the number of crease undirected edges in the mesh
|
|
MRMESH_API double | totalArea () const |
| returns cached summed area of mesh triangles
|
|
MRMESH_API double | selectedArea () const |
| returns cached area of selected triangles
|
|
MRMESH_API double | volume () const |
| returns cached volume of space surrounded by the mesh, which is valid only if mesh is closed
|
|
MRMESH_API float | avgEdgeLen () const |
| returns cached average edge length
|
|
MRMESH_API size_t | numUndirectedEdges () const |
| returns cached information about the number of undirected edges in the mesh
|
|
MRMESH_API size_t | numHoles () const |
| returns cached information about the number of holes in the mesh
|
|
MRMESH_API size_t | numComponents () const |
| returns cached information about the number of components in the mesh
|
|
MRMESH_API size_t | numHandles () const |
| returns cached information about the number of handles in the mesh
|
|
virtual MRMESH_API size_t | heapBytes () const override |
| returns the amount of memory this object occupies on heap
|
|
const char * | saveMeshFormat () const |
| returns file extension used to serialize the mesh
|
|
MRMESH_API void | setSaveMeshFormat (const char *newFormat) |
| sets file extension used to serialize the mesh: must be not null and must start from '.'
|
|
MRMESH_API | VisualObject () |
|
| VisualObject (VisualObject &&)=default |
|
VisualObject & | operator= (VisualObject &&)=default |
|
virtual | ~VisualObject ()=default |
|
MRMESH_API void | setVisualizeProperty (bool value, AnyVisualizeMaskEnum type, ViewportMask viewportMask) |
| set visual property in all viewports specified by the mask
|
|
virtual MRMESH_API void | setVisualizePropertyMask (AnyVisualizeMaskEnum type, ViewportMask viewportMask) |
| set visual property mask
|
|
MRMESH_API bool | getVisualizeProperty (AnyVisualizeMaskEnum type, ViewportMask viewportMask) const |
| returns true if the property is set at least in one viewport specified by the mask
|
|
MRMESH_API void | toggleVisualizeProperty (AnyVisualizeMaskEnum type, ViewportMask viewportMask) |
| toggle visual property in all viewports specified by the mask
|
|
void | setAllVisualizeProperties (const AllVisualizeProperties &properties) |
| set all visualize properties masks
|
|
void | showLabels (bool on) |
| shows/hides labels
|
|
bool | showLabels () const |
|
void | showName (bool on) |
| shows/hides object name in all viewports
|
|
bool | showName () const |
| returns whether object name is shown in any viewport
|
|
MRMESH_API const Color & | getFrontColor (bool selected=true, ViewportId viewportId={}) const |
| returns color of object when it is selected/not-selected (depending on argument) in given viewport
|
|
virtual MRMESH_API void | setFrontColor (const Color &color, bool selected, ViewportId viewportId={}) |
| sets color of object when it is selected/not-selected (depending on argument) in given viewport
|
|
virtual MRMESH_API const ViewportProperty< Color > & | getFrontColorsForAllViewports (bool selected=true) const |
| returns color of object when it is selected/not-selected (depending on argument) in all viewports
|
|
virtual MRMESH_API void | setFrontColorsForAllViewports (ViewportProperty< Color > val, bool selected=true) |
| sets color of object when it is selected/not-selected (depending on argument) in all viewports
|
|
virtual MRMESH_API const ViewportProperty< Color > & | getBackColorsForAllViewports () const |
| returns backward color of object in all viewports
|
|
virtual MRMESH_API void | setBackColorsForAllViewports (ViewportProperty< Color > val) |
| sets backward color of object in all viewports
|
|
MRMESH_API const Color & | getBackColor (ViewportId viewportId={}) const |
| returns backward color of object in given viewport
|
|
virtual MRMESH_API void | setBackColor (const Color &color, ViewportId viewportId={}) |
| sets backward color of object in given viewport
|
|
MRMESH_API const uint8_t & | getGlobalAlpha (ViewportId viewportId={}) const |
| returns global transparency alpha of object in given viewport
|
|
virtual MRMESH_API void | setGlobalAlpha (uint8_t alpha, ViewportId viewportId={}) |
| sets global transparency alpha of object in given viewport
|
|
virtual MRMESH_API void | setGlobalAlphaForAllViewports (ViewportProperty< uint8_t > val) |
| sets global transparency alpha of object in all viewports
|
|
MRMESH_API const Color & | getLabelsColor (ViewportId viewportId={}) const |
|
virtual MRMESH_API void | setLabelsColor (const Color &color, ViewportId viewportId={}) |
|
MRMESH_API const ViewportProperty< Color > & | getLabelsColorsForAllViewports () const |
|
virtual MRMESH_API void | setLabelsColorsForAllViewports (ViewportProperty< Color > val) |
|
MRMESH_API uint32_t | getDirtyFlags () const |
| returns current dirty flags for the object
|
|
MRMESH_API void | resetDirty () const |
| resets all dirty flags (except for cache flags that will be reset automatically on cache update)
|
|
MRMESH_API Box3f | getBoundingBox () const |
| returns cached bounding box of this object in local coordinates
|
|
bool | isPickable (ViewportMask viewportMask=ViewportMask::any()) const |
| whether the object can be picked (by mouse) in any of given viewports
|
|
virtual MRMESH_API void | setPickable (bool on, ViewportMask viewportMask=ViewportMask::all()) |
| sets the object as can/cannot be picked (by mouse) in all of given viewports
|
|
const VertColors & | getVertsColorMap () const |
| returns per-vertex colors of the object
|
|
virtual void | setVertsColorMap (VertColors vertsColorMap) |
| sets per-vertex colors of the object
|
|
virtual void | updateVertsColorMap (VertColors &vertsColorMap) |
| swaps per-vertex colors of the object with given argument
|
|
ColoringType | getColoringType () const |
| returns the current coloring mode of the object
|
|
virtual MRMESH_API void | setColoringType (ColoringType coloringType) |
| sets coloring mode of the object with given argument
|
|
float | getShininess () const |
| returns the current shininess visual value
|
|
virtual void | setShininess (float shininess) |
| sets shininess visual value of the object with given argument
|
|
float | getSpecularStrength () const |
| returns intensity of reflections
|
|
virtual void | setSpecularStrength (float specularStrength) |
| sets intensity of reflections
|
|
float | getAmbientStrength () const |
| returns intensity of non-directional light
|
|
virtual void | setAmbientStrength (float ambientStrength) |
| sets intensity of non-directional light
|
|
const std::vector< PositionedText > & | getLabels () const |
|
virtual void | setLabels (std::vector< PositionedText > labels) |
|
virtual MRMESH_API bool | render (const ModelRenderParams &) const |
|
virtual MRMESH_API void | renderForPicker (const ModelBaseRenderParams &, unsigned) const |
| draws this object for picking
|
|
virtual MRMESH_API void | renderUi (const UiRenderParams ¶ms) const |
| draws this object for 2d UI
|
|
| VisualObject (ProtectedStruct, const VisualObject &obj) |
| this ctor is public only for std::make_shared used inside clone()
|
|
MRMESH_API bool | useDefaultScenePropertiesOnDeserialization () const |
|
MRMESH_API void | setUseDefaultScenePropertiesOnDeserialization (bool useDefaultScenePropertiesOnDeserialization) |
|
| Object ()=default |
|
| Object (Object &&) noexcept=default |
|
Object & | operator= (Object &&) noexcept=default |
|
virtual | ~Object ()=default |
|
template<typename T > |
T * | asType () |
|
template<typename T > |
const T * | asType () const |
|
const std::string & | name () const |
|
virtual void | setName (std::string name) |
|
MRMESH_API std::shared_ptr< const Object > | find (const std::string_view &name) const |
| finds a direct child by name
|
|
std::shared_ptr< Object > | find (const std::string_view &name) |
|
template<typename T > |
std::shared_ptr< const T > | find () const |
| finds a direct child by type
|
|
template<typename T > |
std::shared_ptr< T > | find () |
|
template<typename T > |
std::shared_ptr< const T > | find (const std::string_view &name) const |
| finds a direct child by name and type
|
|
template<typename T > |
std::shared_ptr< T > | find (const std::string_view &name) |
|
const AffineXf3f & | xf (ViewportId id={}, bool *isDef=nullptr) const |
|
virtual MRMESH_API void | setXf (const AffineXf3f &xf, ViewportId id={}) |
|
virtual MRMESH_API void | resetXf (ViewportId id={}) |
| forgets specific transform in given viewport (or forgets all specific transforms for {} input)
|
|
const ViewportProperty< AffineXf3f > & | xfsForAllViewports () const |
| returns xfs for all viewports, combined into a single object
|
|
virtual void | setXfsForAllViewports (ViewportProperty< AffineXf3f > xf) |
| modifies xfs for all viewports at once
|
|
MRMESH_API AffineXf3f | worldXf (ViewportId id={}, bool *isDef=nullptr) const |
|
MRMESH_API void | setWorldXf (const AffineXf3f &xf, ViewportId id={}) |
|
MRMESH_API ViewportMask | globalVisibilityMask () const |
| returns all viewports where this object is visible together with all its parents
|
|
bool | globalVisibility (ViewportMask viewportMask=ViewportMask::any()) const |
| returns true if this object is visible together with all its parents in any of given viewports
|
|
MRMESH_API void | setGlobalVisibility (bool on, ViewportMask viewportMask=ViewportMask::any()) |
| if true sets all predecessors visible, otherwise sets this object invisible
|
|
bool | isLocked () const |
| object properties lock for UI
|
|
virtual void | setLocked (bool on) |
|
bool | isParentLocked () const |
|
virtual void | setParentLocked (bool lock) |
|
const Object * | parent () const |
| returns parent object in the tree
|
|
Object * | parent () |
|
MRMESH_API bool | isAncestor (const Object *ancestor) const |
| return true if given object is ancestor of this one, false otherwise
|
|
MRMESH_API Object * | findCommonAncestor (Object &other) |
|
const Object * | findCommonAncestor (const Object &other) const |
|
virtual MRMESH_API bool | detachFromParent () |
|
const std::vector< std::shared_ptr< Object > > & | children () |
| an object can hold other sub-objects
|
|
const std::vector< std::shared_ptr< const Object > > & | children () const |
|
virtual MRMESH_API bool | addChild (std::shared_ptr< Object > child, bool recognizedChild=true) |
|
virtual MRMESH_API bool | addChildBefore (std::shared_ptr< Object > newChild, const std::shared_ptr< Object > &existingChild) |
|
bool | removeChild (const std::shared_ptr< Object > &child) |
| returns false if it was not child of this
|
|
virtual MRMESH_API bool | removeChild (Object *child) |
|
virtual MRMESH_API void | removeAllChildren () |
| detaches all recognized children from this, keeping all unrecognized ones
|
|
MRMESH_API void | sortChildren () |
| sort recognized children by name
|
|
virtual MRMESH_API bool | select (bool on) |
| selects the object, returns true if value changed, otherwise returns false
|
|
virtual bool | isSelected () const |
|
virtual MRMESH_API void | setAncillary (bool ancillary) |
|
bool | isAncillary () const |
|
MRMESH_API void | setVisible (bool on, ViewportMask viewportMask=ViewportMask::all()) |
| sets the object visible in the viewports specified by the mask (by default in all viewports)
|
|
bool | isVisible (ViewportMask viewportMask=ViewportMask::any()) const |
| checks whether the object is visible in any of the viewports specified by the mask (by default in any viewport)
|
|
virtual MRMESH_API void | setVisibilityMask (ViewportMask viewportMask) |
| specifies object visibility as bitmask of viewports
|
|
virtual ViewportMask | visibilityMask () const |
| gets object visibility as bitmask of viewports
|
|
void | resetRedrawFlag () const |
|
MRMESH_API std::shared_ptr< Object > | cloneTree () const |
| clones all tree of this object (except ancillary and unrecognized children)
|
|
MRMESH_API std::shared_ptr< Object > | shallowCloneTree () const |
|
MRMESH_API Expected< std::vector< std::future< Expected< void > > > > | serializeRecursive (const std::filesystem::path &path, Json::Value &root, int childId) const |
|
MRMESH_API Expected< void > | deserializeRecursive (const std::filesystem::path &path, const Json::Value &root, ProgressCallback progressCb={}, int *objCounter=nullptr) |
|
MRMESH_API void | swap (Object &other) |
|
MRMESH_API Box3f | getWorldTreeBox (ViewportId={}) const |
| returns bounding box of this object and all children visible in given (or default) viewport in world coordinates
|
|
| Object (ProtectedStruct, const Object &obj) |
|
| ObjectChildrenHolder ()=default |
|
| ObjectChildrenHolder (const ObjectChildrenHolder &) noexcept |
|
ObjectChildrenHolder & | operator= (const ObjectChildrenHolder &) noexcept |
|
MRMESH_API | ObjectChildrenHolder (ObjectChildrenHolder &&) noexcept |
|
MRMESH_API ObjectChildrenHolder & | operator= (ObjectChildrenHolder &&) noexcept |
|
MRMESH_API | ~ObjectChildrenHolder () |
|
MRMESH_API std::shared_ptr< Object > | getSharedPtr () const |
|
MRMESH_API size_t | heapBytes () const |
|