13 ObjectMesh() =
default;
15 ObjectMesh( ObjectMesh&& ) noexcept = default;
16 ObjectMesh& operator = ( ObjectMesh&& ) noexcept = default;
18 constexpr static const
char* StaticTypeName() noexcept {
return "ObjectMesh"; }
19 virtual const char* typeName()
const override {
return StaticTypeName(); }
21 constexpr static const char* StaticClassName() noexcept {
return "Mesh"; }
22 virtual std::string className()
const override {
return StaticClassName(); }
24 constexpr static const char* StaticClassNameInPlural() noexcept {
return "Meshes"; }
25 virtual std::string classNameInPlural()
const override {
return StaticClassNameInPlural(); }
28 virtual const std::shared_ptr< Mesh > & varMesh() {
return data_.mesh; }
31 MRMESH_API virtual void setMesh( std::shared_ptr< Mesh > mesh );
34 MRMESH_API virtual std::shared_ptr< Mesh > updateMesh( std::shared_ptr< Mesh > mesh );
36 MRMESH_API virtual std::vector<std::string> getInfoLines()
const override;
38 MRMESH_API virtual std::shared_ptr<Object> clone()
const override;
39 MRMESH_API virtual std::shared_ptr<Object> shallowClone()
const override;
41 MRMESH_API virtual void setDirtyFlags( uint32_t mask,
bool invalidateCaches =
true )
override;
44 ObjectMesh( ProtectedStruct,
const ObjectMesh& obj ) : ObjectMesh( obj ) {}
49 MRMESH_API MeshIntersectionResult worldRayIntersection(
const Line3f& worldRay,
const FaceBitSet* region =
nullptr )
const;
52 using MeshChangedSignal = Signal<void( uint32_t mask )>;
53 MeshChangedSignal meshChangedSignal;
56 ObjectMesh(
const ObjectMesh& other ) =
default;
59 MRMESH_API virtual void swapBase_( Object& other )
override;
62 MRMESH_API virtual void swapSignals_( Object& other )
override;
64 MRMESH_API virtual void serializeFields_( Json::Value& root )
const override;
68struct ObjectMeshMergeOptions
71 const std::vector<AffineXf3f>*
overrideXfs{
nullptr };
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
Definition MRObjectMesh.h:69
new unsafe MR.Std.? Const_Vector_MRAffineXf3f overrideXfs
Definition MRCameraOrientationPlugin.h:8
MRMESH_API std::shared_ptr< ObjectLines > cloneRegion(const std::shared_ptr< ObjectLines > &objLines, const UndirectedEdgeBitSet ®ion)
constructs new ObjectLines containing the region of data from input object
MRMESH_API std::shared_ptr< ObjectLines > merge(const std::vector< std::shared_ptr< ObjectLines > > &objsLines)
constructs new ObjectLines containing the union of valid data from all input objects