Volume Cartographer 2.27.0
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
volcart::landmarks::PolylineLandmark Class Reference

Polyline (multi-segment line) volume landmark. More...

#include <vc/core/landmarks/PolylineLandmark.hpp>

Inheritance diagram for volcart::landmarks::PolylineLandmark:
[legend]
Collaboration diagram for volcart::landmarks::PolylineLandmark:
[legend]

Public Types

using Polyline = std::vector< Point >
 
using Pointer = std::shared_ptr< PolylineLandmark >
 Pointer type. More...
 
- Public Types inherited from volcart::landmarks::VolumeLandmark
using Identifier = std::string
 Identifier type. More...
 
using Point = cv::Vec3d
 3D Point type More...
 
using Pointer = std::shared_ptr< VolumeLandmark >
 Pointer type. More...
 

Public Member Functions

 PolylineLandmark (const Identifier &uuid, const std::string &name)
 Constructor with uuid and name.
 
 PolylineLandmark (const Identifier &uuid, const std::string &name, Polyline poly)
 Constructor with uuid, name, and Polyline.
 
void setPolyline (Polyline p)
 Set the Polyline.
 
Polyline getPolyline () const
 Get the Polyline.
 
void addPoint (const Point &pt)
 Add Point to the end of the Polyline.
 
void addPoint (double x, double y, double z)
 
- Public Member Functions inherited from volcart::landmarks::VolumeLandmark
 VolumeLandmark ()=delete
 
Identifier id () const
 Get the unique identifier.
 
std::string name () const
 Get human-readable landmark name.
 
Type type () const
 Get the landmark type.
 

Static Public Member Functions

static Pointer New (const Identifier &uuid, const std::string &name)
 Constructor with uuid and name. More...
 
static Pointer New (const Identifier &uuid, const std::string &name, const Polyline &poly)
 Constructor with uuid, name, and Polyline. More...
 
- Static Public Member Functions inherited from volcart::landmarks::VolumeLandmark
static void Write (const volcart::filesystem::path &path, const Pointer &ldm)
 Write a landmark metadata file to the path provided.
 
static VolumeLandmark::Pointer Read (const volcart::filesystem::path &path)
 Read a landmark metadata file from the path provided.
 

Private Member Functions

void update_meta_ ()
 

Private Attributes

Polyline poly_
 

Additional Inherited Members

- Protected Member Functions inherited from volcart::landmarks::VolumeLandmark
 VolumeLandmark (const Identifier &uuid, const std::string &name, Type type)
 
- Protected Attributes inherited from volcart::landmarks::VolumeLandmark
Metadata metadata_
 
Type type_
 

Detailed Description

Polyline (multi-segment line) volume landmark.

Useful for specifying center line of irregularly shaped object

Definition at line 16 of file PolylineLandmark.hpp.

Member Typedef Documentation

◆ Pointer

Pointer type.

Definition at line 21 of file PolylineLandmark.hpp.

◆ Polyline

using volcart::landmarks::PolylineLandmark::Polyline = std::vector<Point>

Definition at line 19 of file PolylineLandmark.hpp.

Member Function Documentation

◆ addPoint()

void volcart::landmarks::PolylineLandmark::addPoint ( double  x,
double  y,
double  z 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ New() [1/2]

static Pointer volcart::landmarks::PolylineLandmark::New ( const Identifier uuid,
const std::string &  name 
)
static

Constructor with uuid and name.

◆ New() [2/2]

static Pointer volcart::landmarks::PolylineLandmark::New ( const Identifier uuid,
const std::string &  name,
const Polyline &  poly 
)
static

Constructor with uuid, name, and Polyline.

◆ update_meta_()

void volcart::landmarks::PolylineLandmark::update_meta_ ( )
private

Update the metadata structure

Member Data Documentation

◆ poly_

Polyline volcart::landmarks::PolylineLandmark::poly_
private

Polyline

Definition at line 52 of file PolylineLandmark.hpp.


The documentation for this class was generated from the following file: