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;
154 std::string
const& name,
165 const std::string& name);
170 const std::vector<Polyline*>*
getPolylineVec(
const std::string& name)
const;
195 const std::string& name,
206 const std::string& name);
209 const std::vector<Surface*>*
getSurfaceVec(
const std::string& name)
const;
259 std::string& merged_geo_name);
266 std::string
const& new_name);
271 const std::string& geo_name,
273 const std::string& geo_obj_name)
const;
285 const std::string& geo_name,
const std::string& geo_obj_name)
const;
294 std::size_t
exists(
const std::string& geometry_name)
const;
310 [](std::string
const& ) {};
313 [](std::string
const& ) {};
316 [](std::string
const& ) {};
319 [](std::string
const& ) {};
322 [](std::string
const& ) {};
325 [](std::string
const& ) {};
336 void mergePoints(std::vector<std::string>
const& geo_names,
337 std::string& merged_geo_name,
338 std::vector<std::size_t>& pnt_offsets);
353 std::string
const& merged_geo_name,
354 std::vector<std::size_t>
const& pnt_offsets);
366 void mergeSurfaces(std::vector<std::string>
const& geo_names,
367 std::string
const& merged_geo_name,
368 std::vector<std::size_t>
const& pnt_offsets);
385 std::string& stn_name,
386 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
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
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 &)