91 std::unique_ptr<std::vector<Point*>> points,
93 std::unique_ptr<std::map<std::string, std::size_t>> pnt_id_name_map =
95 double eps = std::sqrt(std::numeric_limits<double>::epsilon()));
124 std::unique_ptr<std::vector<Point *>> stations, std::string &
name);
128 const std::string&
name)
const;
143 void addPolylineVec(std::unique_ptr<std::vector<Polyline*>> lines,
144 const std::string&
name,
145 std::unique_ptr<std::map<std::string, std::size_t>>
146 ply_names =
nullptr);
157 const std::string &
name);
186 void addSurfaceVec(std::unique_ptr<std::vector<Surface*>> sfc,
187 const std::string&
name,
188 std::unique_ptr<std::map<std::string, std::size_t>>
189 sfc_names =
nullptr);
199 const std::string&
name);
247 std::string& merged_geo_name);
254 std::string
const& new_name);
259 const std::string &geo_obj_name)
const;
271 const std::string &geo_obj_name)
const;
280 std::size_t
exists(
const std::string &geometry_name)
const;
305 [](std::string
const& ) {};
308 [](std::string
const& ) {};
311 [](std::string
const& ) {};
314 [](std::string
const& ) {};
317 [](std::string
const& ) {};
320 [](std::string
const& ) {};
332 bool mergePoints(std::vector<std::string>
const& geo_names,
333 std::string& merged_geo_name,
334 std::vector<std::size_t>& pnt_offsets);
349 std::string
const& merged_geo_name,
350 std::vector<std::size_t>
const& pnt_offsets);
362 void mergeSurfaces(std::vector<std::string>
const& geo_names,
363 std::string
const& merged_geo_name,
364 std::vector<std::size_t>
const& pnt_offsets);
374 std::string& stn_name,
375 bool const only_unused_pnts =
true);
Definition of the GEOTYPE enumeration.
Definition of the PointVec class.
Definition of the PolylineVec class.
Definition of the PolyLine class.
Definition of the SurfaceVec class.
Container class for geometric objects.
void mergeSurfaces(std::vector< std::string > const &geo_names, std::string const &merged_geo_name, std::vector< std::size_t > const &pnt_offsets)
std::function< void(std::string const &)> appendSurfaceVecCallback
std::vector< PointVec * > const & getPoints() const
Read access to points w/o using a name.
std::size_t exists(const std::string &geometry_name) const
void mergePolylines(std::vector< std::string > const &geo_names, std::string const &merged_geo_name, std::vector< std::size_t > const &pnt_offsets)
std::function< void(std::string const &)> addSurfaceVecCallback
std::vector< std::string > getGeometryNames() const
Returns the names of all geometry vectors.
bool appendSurfaceVec(const std::vector< Surface * > &surfaces, const std::string &name)
void addStationVec(std::unique_ptr< std::vector< Point * >> stations, std::string &name)
Adds a vector of stations with the given name and colour to GEOObjects.
void addSurfaceVec(std::unique_ptr< std::vector< Surface * >> sfc, const std::string &name, std::unique_ptr< std::map< std::string, std::size_t >> sfc_names=nullptr)
const std::vector< Point * > * getPointVec(const std::string &name) const
PolylineVec * getPolylineVecObj(const std::string &name)
Returns a pointer to a PolylineVec object for the given name.
const PointVec * getPointVecObj(const std::string &name) const
void renameGeometry(std::string const &old_name, std::string const &new_name)
bool mergePoints(std::vector< std::string > const &geo_names, std::string &merged_geo_name, std::vector< std::size_t > &pnt_offsets)
std::function< void(std::string const &)> addPolylineVecCallback
bool removePointVec(const std::string &name)
bool isUniquePointVecName(std::string &name) const
bool removeSurfaceVec(const std::string &name)
void addPointVec(std::unique_ptr< std::vector< Point * >> points, std::string &name, std::unique_ptr< std::map< std::string, std::size_t >> pnt_id_name_map=nullptr, double eps=std::sqrt(std::numeric_limits< double >::epsilon()))
std::vector< SurfaceVec * > const & getSurfaces() const
Read access to surfaces w/o using a name.
const std::vector< Surface * > * getSurfaceVec(const std::string &name) const
Returns the surface vector with the given name as a const.
std::vector< PointVec * > _pnt_vecs
std::function< void(std::string const &)> appendPolylineVecCallback
std::vector< PolylineVec * > _ply_vecs
std::unique_ptr< Callbacks > _callbacks
SurfaceVec * getSurfaceVecObj(const std::string &name)
Returns the surface vector with the given name.
bool isPntVecUsed(const std::string &name) const
Checks if the point vector with the given name is referenced in a polyline- or surface vector.
const PolylineVec * getPolylineVecObj(const std::string &name) const
bool removeStationVec(const std::string &name)
Removes the station vector with the given name from GEOObjects.
int mergeGeometries(std::vector< std::string > const &geo_names, std::string &merged_geo_name)
void getStationVectorNames(std::vector< std::string > &names) const
Returns the names of all station vectors.
const std::vector< Polyline * > * getPolylineVec(const std::string &name) const
std::function< void(std::string const &)> removePolylineVecCallback
void addPolylineVec(std::unique_ptr< std::vector< Polyline * >> lines, const std::string &name, std::unique_ptr< std::map< std::string, std::size_t >> ply_names=nullptr)
bool appendPolylineVec(const std::vector< Polyline * > &polylines, const std::string &name)
std::function< void(std::string const &)> removeSurfaceVecCallback
std::vector< SurfaceVec * > _sfc_vecs
PointVec * getPointVecObj(const std::string &name)
Returns a pointer to a PointVec object for the given name.
std::vector< PolylineVec * > const & getPolylines() const
Read access to polylines w/o using a name.
const GeoLib::GeoObject * getGeoObject(const std::string &geo_name, GeoLib::GEOTYPE type, const std::string &geo_obj_name) const
Returns the geo object for a geometric item of the given name and type for the associated geometry.
const std::vector< GeoLib::Point * > * getStationVec(const std::string &name) const
Returns the station vector with the given name.
bool removePolylineVec(const std::string &name)
std::string getElementNameByID(const std::string &geometry_name, GeoLib::GEOTYPE type, std::size_t id) const
This class manages pointers to Points in a std::vector along with a name. It also handles the deletin...
The class TemplateVec takes a unique name and manages a std::vector of pointers to data elements of t...
int geoPointsToStations(GEOObjects &geo_objects, std::string const &geo_name, std::string &stn_name, bool const only_unused_pnts)
Constructs a station-vector based on the points of a given geometry.
virtual void renameGeometry(std::string const &, std::string const &)
virtual void appendSurfaceVec(std::string const &)
virtual void removePolylineVec(std::string const &)
virtual void addSurfaceVec(std::string const &)
virtual void addStationVec(std::string const &)
virtual void removeSurfaceVec(std::string const &)
virtual void appendPolylineVec(std::string const &)
virtual ~Callbacks()=default
virtual void addPointVec(std::string const &)
virtual void removeStationVec(std::string const &)
virtual void removePointVec(std::string const &)
virtual void addPolylineVec(std::string const &)