13 ObjectLines() =
default;
14 ObjectLines( ObjectLines&& ) =
default;
15 ObjectLines& operator=( ObjectLines&& ) =
default;
17 constexpr static const char* StaticTypeName() noexcept {
return "ObjectLines"; }
18 virtual const char* typeName()
const override {
return StaticTypeName(); }
20 constexpr static const char* StaticClassName() noexcept {
return "Polyline"; }
21 virtual std::string className()
const override {
return StaticClassName(); }
23 constexpr static const char* StaticClassNameInPlural() noexcept {
return "Polylines"; }
24 virtual std::string classNameInPlural()
const override {
return StaticClassNameInPlural(); }
26 MRMESH_API virtual std::shared_ptr<Object> clone()
const override;
27 MRMESH_API virtual std::shared_ptr<Object> shallowClone()
const override;
29 MRMESH_API virtual void setPolyline(
const std::shared_ptr<Polyline3>& polyline );
31 MRMESH_API virtual std::shared_ptr< Polyline3 > updatePolyline( std::shared_ptr< Polyline3 > polyline );
33 virtual const std::shared_ptr<Polyline3>& varPolyline() {
return polyline_; }
35 MRMESH_API virtual void setDirtyFlags( uint32_t mask,
bool invalidateCaches =
true )
override;
38 ObjectLines( ProtectedStruct,
const ObjectLines& obj ) : ObjectLines( obj ) {}
40 MRMESH_API virtual std::vector<std::string> getInfoLines()
const override;
43 using LinesChangedSignal = Signal<void( uint32_t mask )>;
44 LinesChangedSignal linesChangedSignal;
47 ObjectLines(
const ObjectLines& other ) =
default;
50 MRMESH_API virtual void swapBase_( Object& other )
override;
53 MRMESH_API virtual void swapSignals_( Object& other )
override;
55 MRMESH_API virtual void serializeFields_( Json::Value& root )
const override;
59[[nodiscard]]
MRMESH_API std::shared_ptr<ObjectLines>
merge(
const std::vector<std::shared_ptr<ObjectLines>>& objsLines );
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
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