91 std::vector<Point*>&& points, std::string& name,
93 double const eps = std::sqrt(std::numeric_limits<double>::epsilon()));
103 std::vector<Point*>&& points, std::string& name,
104 double const eps = std::sqrt(std::numeric_limits<double>::epsilon()));
109 const std::vector<Point*>*
getPointVec(
const std::string &name)
const;
132 void addStationVec(std::vector<Point*>&& stations, std::string& name);
136 const std::string& name)
const;
152 std::string
const& name,
164 const std::string& name);
169 const std::vector<Polyline*>*
getPolylineVec(
const std::string &name)
const;
194 const std::string& name,
205 const std::string& name);
208 const std::vector<Surface*>*
getSurfaceVec(
const std::string &name)
const;
253 std::string& merged_geo_name);
260 std::string
const& new_name);
265 const std::string &geo_obj_name)
const;
277 const std::string &geo_obj_name)
const;
286 std::size_t
exists(
const std::string &geometry_name)
const;
301 [](std::string
const& ) {};
304 [](std::string
const& ) {};
307 [](std::string
const& ) {};
310 [](std::string
const& ) {};
313 [](std::string
const& ) {};
316 [](std::string
const& ) {};
327 void mergePoints(std::vector<std::string>
const& geo_names,
328 std::string& merged_geo_name,
329 std::vector<std::size_t>& pnt_offsets);
344 std::string
const& merged_geo_name,
345 std::vector<std::size_t>
const& pnt_offsets);
357 void mergeSurfaces(std::vector<std::string>
const& geo_names,
358 std::string
const& merged_geo_name,
359 std::vector<std::size_t>
const& pnt_offsets);
376 std::string& stn_name,
377 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::size_t exists(const std::string &geometry_name) const
PointVec * getPointVecObj(const std::string &name)
Returns a pointer to a PointVec object for the given name.
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.
void addPolylineVec(std::vector< Polyline * > &&lines, std::string const &name, PolylineVec::NameIdMap &&ply_names)
bool appendSurfaceVec(const std::vector< Surface * > &surfaces, const std::string &name)
const std::vector< Point * > * getPointVec(const std::string &name) const
void addPointVec(std::vector< Point * > &&points, std::string &name, PointVec::NameIdMap &&pnt_id_name_map, double const eps=std::sqrt(std::numeric_limits< double >::epsilon()))
std::vector< PolylineVec * > const & getPolylines() const
Read access to polylines w/o using a name.
const PointVec * getPointVecObj(const std::string &name) const
void renameGeometry(std::string const &old_name, std::string const &new_name)
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 addStationVec(std::vector< Point * > &&stations, std::string &name)
Adds a vector of stations with the given name and colour to GEOObjects.
void mergePoints(std::vector< std::string > const &geo_names, std::string &merged_geo_name, std::vector< std::size_t > &pnt_offsets)
SurfaceVec * getSurfaceVecObj(const std::string &name)
Returns the surface vector with the given name.
PolylineVec * getPolylineVecObj(const std::string &name)
Returns a pointer to a PolylineVec object for the given 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
std::vector< PointVec * > const & getPoints() const
Read access to points w/o using a name.
void addSurfaceVec(std::vector< Surface * > &&sfc, const std::string &name, SurfaceVec::NameIdMap &&sfc_names)
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
bool appendPolylineVec(const std::vector< Polyline * > &polylines, const std::string &name)
std::function< void(std::string const &)> removeSurfaceVecCallback
std::vector< SurfaceVec * > _sfc_vecs
std::vector< SurfaceVec * > const & getSurfaces() const
Read access to surfaces 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 deletio...
The class TemplateVec takes a unique name and manages a std::vector of pointers to data elements of t...
std::map< std::string, std::size_t > NameIdMap
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 &)