20 constexpr static const char*
StaticTypeName() noexcept {
return "ObjectLines"; }
21 virtual const char*
typeName()
const override {
return StaticTypeName(); }
24 virtual std::string
className()
const override {
return StaticClassName(); }
27 virtual std::string
classNameInPlural()
const override {
return StaticClassNameInPlural(); }
29 MRMESH_API
virtual std::shared_ptr<Object>
clone()
const override;
30 MRMESH_API
virtual std::shared_ptr<Object>
shallowClone()
const override;
32 MRMESH_API
virtual void setPolyline(
const std::shared_ptr<Polyline3>& polyline );
34 MRMESH_API
virtual std::shared_ptr< Polyline3 >
updatePolyline( std::shared_ptr< Polyline3 > polyline );
36 virtual const std::shared_ptr<Polyline3>&
varPolyline() {
return polyline_; }
41 MRMESH_API
virtual std::vector<std::string>
getInfoLines()
const override;
53[[nodiscard]] MRMESH_API std::shared_ptr<ObjectLines>
merge(
const std::vector<std::shared_ptr<ObjectLines>>& objsLines );
56[[nodiscard]] MRMESH_API std::shared_ptr<ObjectLines>
cloneRegion(
const std::shared_ptr<ObjectLines>& objLines,
const UndirectedEdgeBitSet& region );
Definition MRObjectLinesHolder.h:30
Definition MRObjectLines.h:14
named object in the data model
Definition MRObject.h:62
virtual const char * typeName() const override
Definition MRObjectLines.h:21
virtual MRMESH_API std::shared_ptr< Polyline3 > updatePolyline(std::shared_ptr< Polyline3 > polyline)
sets given polyline to this, and returns back previous polyline of this;
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
virtual MRMESH_API void swapBase_(Object &other) override
swaps this object with other
virtual MRMESH_API void setPolyline(const std::shared_ptr< Polyline3 > &polyline)
static constexpr const char * StaticTypeName() noexcept
Definition MRObjectLines.h:20
ObjectLines(ProtectedStruct, const ObjectLines &obj)
Definition MRObjectLines.h:39
virtual const std::shared_ptr< Polyline3 > & varPolyline()
Definition MRObjectLines.h:36
virtual std::string classNameInPlural() const override
Definition MRObjectLines.h:27
virtual std::string className() const override
Definition MRObjectLines.h:24
static constexpr const char * StaticClassName() noexcept
Definition MRObjectLines.h:23
ObjectLines(ObjectLines &&)=default
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
static constexpr const char * StaticClassNameInPlural() noexcept
Definition MRObjectLines.h:26
virtual MRMESH_API std::shared_ptr< Object > clone() const override
virtual MRMESH_API void serializeFields_(Json::Value &root) const override
serializeFields_: serializeBaseFields_ plus polyline serialization
ObjectLines & operator=(ObjectLines &&)=default
virtual MRMESH_API std::vector< std::string > getInfoLines() const override
return several info lines that can better describe the object in the UI
ObjectLines(const ObjectLines &other)=default
virtual MRMESH_API std::shared_ptr< Object > shallowClone() const override
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRObject.h:284