87 std::vector<Point*>&& points, std::string& name,
89 double const eps = std::sqrt(std::numeric_limits<double>::epsilon()));
99 std::vector<Point*>&& points, std::string& name,
100 double const eps = std::sqrt(std::numeric_limits<double>::epsilon()));
105 const std::vector<Point*>*
getPointVec(
const std::string& name)
const;
128 void addStationVec(std::vector<Point*>&& stations, std::string& name);
132 const std::string& name)
const;
150 std::string
const& name,
161 const std::string& name);
166 const std::vector<Polyline*>*
getPolylineVec(
const std::string& name)
const;
191 const std::string& name,
202 const std::string& name);
205 const std::vector<Surface*>*
getSurfaceVec(
const std::string& name)
const;
255 std::string& merged_geo_name);
262 std::string
const& new_name);
267 const std::string& geo_name,
269 const std::string& geo_obj_name)
const;
281 const std::string& geo_name,
const std::string& geo_obj_name)
const;
290 std::size_t
exists(
const std::string& geometry_name)
const;
306 [](std::string
const& ) {};
309 [](std::string
const& ) {};
312 [](std::string
const& ) {};
315 [](std::string
const& ) {};
318 [](std::string
const& ) {};
321 [](std::string
const& ) {};
332 void 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);
381 std::string& stn_name,
382 bool const only_unused_pnts =
true);
Definition of the Point class.
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 &)