21 constexpr static const
char*
StaticTypeName() noexcept {
return "ObjectMesh"; }
31 virtual const std::shared_ptr< Mesh > &
varMesh() {
return data_.mesh; }
73[[nodiscard]]
MRMESH_API std::shared_ptr<ObjectMesh>
cloneRegion(
const std::shared_ptr<ObjectMesh>& objMesh,
const FaceBitSet& region,
bool copyTexture =
true );
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
named object in the data model
Definition MRObject.h:62
ObjectMesh(ObjectMesh &&) noexcept=default
virtual std::shared_ptr< Object > shallowClone() const override
virtual void setMesh(std::shared_ptr< Mesh > mesh)
sets given mesh to this, resets selection and creases
virtual std::string classNameInPlural() const override
Definition MRObjectMesh.h:28
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
virtual void serializeFields_(Json::Value &root) const override
static constexpr const char * StaticClassName() noexcept
Definition MRObjectMesh.h:24
MeshIntersectionResult worldRayIntersection(const Line3f &worldRay, const FaceBitSet *region=nullptr) const
ObjectMeshData data_
Definition MRObjectMeshHolder.h:281
virtual std::vector< std::string > getInfoLines() const override
return several info lines that can better describe the object in the UI
static constexpr const char * StaticClassNameInPlural() noexcept
Definition MRObjectMesh.h:27
static constexpr const char * StaticTypeName() noexcept
Definition MRObjectMesh.h:21
const std::vector< AffineXf3f > * overrideXfs
if not nullptr: merged object will take overridden transform for each object
Definition MRObjectMesh.h:65
virtual std::shared_ptr< Mesh > updateMesh(std::shared_ptr< Mesh > mesh)
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
virtual const std::shared_ptr< Mesh > & varMesh()
returns variable mesh, if const mesh is needed use mesh() instead
Definition MRObjectMesh.h:31
virtual void swapBase_(Object &other) override
swaps this object with other
ObjectMesh(ProtectedStruct, const ObjectMesh &obj)
Definition MRObjectMesh.h:45
virtual std::shared_ptr< Object > clone() const override
virtual std::string className() const override
Definition MRObjectMesh.h:25
const std::shared_ptr< const Mesh > & mesh() const
Definition MRObjectMeshHolder.h:56
virtual const char * typeName() const override
Definition MRObjectMesh.h:22
ObjectMesh(const ObjectMesh &other)=default
@ other
Angle, normally float. Measure in radians.
Definition MRFeatureObject.h:27
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRMeshIntersect.h:18
options to better control MR::merge function
Definition MRObjectMesh.h:63
Definition MRObject.h:284