Namespace SFCGAL::detail#
Implementation details namespace.
Namespaces#
Type | Name |
---|---|
namespace | algorithm Algorithm detail namespace. |
namespace | io Input/output detail namespace. |
Classes#
Type | Name |
---|---|
struct | BoxCollection <Dim> BoxCollection for use with CGAL::Box_intersection_d. |
class | CollectionElement <class Primitive> |
struct | ComparePoints |
struct | ComplexComparator |
struct | ConstraintInfo Structure to identify constraint sources for topology-preserving mode. |
struct | ConstraintInfoCompare <typename Constraint_id> Comparison function for sorting constraints by original order. |
struct | ConstraintOrderInfo <typename Constraint_id> Structure to store constraint order information Allows recovering the original insertion order after simplification. |
class | EnvelopeVisitor |
class | ForceValidityVisitor |
class | GeometrySet <Dim> |
class | GetPointsVisitor |
struct | Halfedge_with_mark <class Refs> |
struct | HandleCollection <Dim> HandleCollection . Used to storePrimitiveHandle . |
class | Interval |
struct | IsPrimitiveLarger <class X, class Y> Tests if a primitive type has a larger dimension than another one. |
struct | Items_with_mark_on_hedge An items type using my halfedge. |
struct | NoVolume |
struct | Point_d <Dim> Another way of looking at TypeForDimension<Dim>::Point. |
struct | PrimitiveBox <Dim> PrimitiveBox . Type used for CGAL::Box_intersection_d. |
struct | PrimitiveDimension <class T> |
struct | PrimitiveDimension< TypeForDimension< 2 >::Segment > <> |
struct | PrimitiveDimension< TypeForDimension< 2 >::Surface > <> |
struct | PrimitiveDimension< TypeForDimension< 2 >::Volume > <> |
struct | PrimitiveDimension< TypeForDimension< 3 >::Segment > <> |
struct | PrimitiveDimension< TypeForDimension< 3 >::Surface > <> |
struct | PrimitiveDimension< TypeForDimension< 3 >::Volume > <> |
struct | PrimitiveHandle <Dim> |
class | SegmentStore Collection of segments from a geometry for interpolation. |
struct | Segment_d <Dim> Another way of looking at TypeForDimension<Dim>::Segment. |
struct | Surface_d <Dim> Another way of looking at TypeForDimension<Dim>::Surface. |
struct | TypeForDimension <Dim> Generic traits, default dimension is 2. |
struct | TypeForDimension< 3 > <> Specialization for dimension = 3. |
struct | Volume_d <Dim> Another way of looking at TypeForDimension<Dim>::Volume. |
struct | dim_t <N> Create a distinct type for each dimension. |
Public Types#
Type | Name |
---|---|
typedef CGAL::Constrained_Delaunay_triangulation_2< K, TDS, CGAL::Exact_predicates_tag > | CDT |
typedef CT::Point | CGALPoint |
typedef CGAL::Constrained_triangulation_plus_2< CDT > | CT |
typedef ConstraintOrderInfo< Constraint_id > | ConstraintInfoType |
typedef CT::Constraint_id | Constraint_id |
typedef CT::Constraint_iterator | Constraint_iterator |
typedef PS::Squared_distance_cost | Cost |
enum | ElementFlag |
typedef CGAL::Constrained_triangulation_face_base_2< K > | Fb |
typedef CGAL::Projection_traits_xy_3< SFCGAL::Kernel > | K |
typedef CGAL::Polyhedron_3< Kernel, Items_with_mark_on_hedge > | MarkedPolyhedron |
typedef CT::Points_in_constraint_iterator | Points_in_constraint_iterator |
enum | PrimitiveType Primitive type enumeration. Note that the value is the dimension ! |
typedef PS::Stop_above_cost_threshold | Stop |
typedef CGAL::Triangulation_data_structure_2< Vb, Fb > | TDS |
typedef PS::Vertex_base_2< K > | Vb |
Public Functions#
Type | Name |
---|---|
void | _collect_points (const CGAL::Polygon_with_holes_2< Kernel > & poly, GeometrySet< 2 >::PointCollection & points) |
void | _collect_points (const CGAL::Triangle_3< Kernel > & tri, GeometrySet< 3 >::PointCollection & points) |
void | _collect_points (const NoVolume &, GeometrySet< 2 >::PointCollection &) |
void | _collect_points (const MarkedPolyhedron & poly, GeometrySet< 3 >::PointCollection & points) |
void | _decompose_polygon (const Polygon & poly, GeometrySet< 2 >::SurfaceCollection & surfaces, dim_t< 2 >) |
void | _decompose_polygon (const Polygon & poly, GeometrySet< 3 >::SurfaceCollection & surfaces, dim_t< 3 >) |
void | _decompose_solid (const Solid &, GeometrySet< 2 >::VolumeCollection &, dim_t< 2 >) |
void | _decompose_solid (const Solid & solid, GeometrySet< 3 >::VolumeCollection & volumes, dim_t< 3 >) |
void | _decompose_triangle (const Triangle & tri, GeometrySet< 2 >::SurfaceCollection & surfaces, dim_t< 2 >) |
void | _decompose_triangle (const Triangle & tri, GeometrySet< 3 >::SurfaceCollection & surfaces, dim_t< 3 >) |
void | _filter_covered (IT ibegin, IT iend, GeometrySet< Dim > & output) |
CGAL::Bbox_2 | compute_solid_bbox (const NoVolume &, dim_t< 2 >) |
CGAL::Bbox_3 | compute_solid_bbox (const TypeForDimension< 3 >::Volume & vol, dim_t< 3 >) |
auto | operator<< (std::ostream & ostr, const GeometrySet< 2 > & g) Display operator. |
auto | operator<< (std::ostream & ostr, const GeometrySet< 3 > & g) Display operator. |
std::ostream & | operator<< (std::ostream & ostr, const CollectionElement< Primitive > & p) |
auto | polygonSetToMultiPolygon (const CGAL::Polygon_set_2< Kernel > & polygonSet) convert a CGAL::Polygon_set_2 to a MultiPolygon __ |
void | recompose_points (const typename GeometrySet< Dim >::PointCollection & points, std::vector< Geometry * > & rpoints, dim_t< Dim >) |
void | recompose_segments (const typename GeometrySet< Dim >::SegmentCollection & segments, std::vector< Geometry * > & lines, dim_t< Dim >) |
void | recompose_surfaces (const GeometrySet< 2 >::SurfaceCollection & surfaces, std::vector< Geometry * > & output, dim_t< 2 >) |
void | recompose_surfaces (const GeometrySet< 3 >::SurfaceCollection & surfaces, std::vector< Geometry * > & output, dim_t< 3 >) |
void | recompose_volumes (const GeometrySet< 2 >::VolumeCollection &, std::vector< Geometry * > &, dim_t< 2 >) |
void | recompose_volumes (const GeometrySet< 3 >::VolumeCollection & volumes, std::vector< Geometry * > & output, dim_t< 3 >) |
auto | simplify (const Geometry & geometry, double threshold, bool preserveTopology) Wrapper for the algorithm::simplify function. |
auto | simplifyGeometryCollection (const GeometryCollection & collection, double threshold, bool preserveTopology) Simplifies a GeometryCollection . |
auto | simplifyGeometryCollectionTopology (const GeometryCollection & collection, double threshold) Simplifies a GeometryCollection with topology preservation. |
auto | simplifyLineString (const LineString & lineString, double threshold, bool preserveTopology, const SegmentStore & store) Simplifies a LineString . |
auto | simplifyMultiLineString (const MultiLineString & multiLine, double threshold, bool preserveTopology) Simplifies a MultiLineString . |
auto | simplifyMultiPolygon (const MultiPolygon & multiPolygon, double threshold, bool preserveTopology) Simplifies a MultiPolygon . |
auto | simplifyPolygon (const Polygon & polygon, double threshold, bool preserveTopology) Simplifies a Polygon . |
auto | simplifyPolyhedralSurface (const PolyhedralSurface & polySurface, double threshold, bool preserveTopology) Simplifies a PolyhedralSurface . |
Public Static Functions#
Type | Name |
---|---|
LineString | buildLineStringFromConstraint (const CT & ct, const Constraint_id & cid, const SegmentStore & store, CoordinateType dimension) Builds a LineString from constraint points. |
void | extractAllConstraints (const GeometryCollection & collection, CT & ct, std::vector< ConstraintInfoType > & constraintInfos) Extracts constraints from all geometry types in a collection. |
bool | extractLineStringConstraints (const LineString & lineString, CT & ct, std::vector< ConstraintInfoType > & constraintInfos, std::size_t geomIdx) Extracts LineString constraints and adds them to the triangulation. |
void | extractMultiPolygonConstraints (const MultiPolygon & multiPolygon, CT & ct, std::vector< ConstraintInfoType > & constraintInfos, std::size_t geomIdx) Extracts MultiPolygon constraints and adds them to the triangulation. |
std::vector< CGALPoint > | extractPointsFromLineString (const LineString & lineString) Extracts points from a LineString to create a CGAL point vector. |
std::vector< CGALPoint > | extractPointsFromRing (const LineString & ring) Extracts points from a ring to create a CGAL point vector. |
void | extractPolygonConstraints (const Polygon & polygon, CT & ct, std::vector< ConstraintInfoType > & constraintInfos, std::size_t geomIdx) Extracts polygon constraints and adds them to the triangulation. |
bool | extractPolygonExteriorConstraint (const LineString & ring, CT & ct, std::vector< ConstraintInfoType > & constraintInfos, std::size_t geomIdx, std::size_t polyIdx, ConstraintInfo::Type type) Extracts polygon exterior ring constraints and adds them to the triangulation. |
void | extractPolygonInteriorConstraints (const Polygon & polygon, CT & ct, std::vector< ConstraintInfoType > & constraintInfos, std::size_t geomIdx, std::size_t polyIdx, ConstraintInfo::Type type) Extracts polygon interior ring constraints and adds them to the triangulation. |
void | extractPolyhedralSurfaceConstraints (const PolyhedralSurface & surface, CT & ct, std::vector< ConstraintInfoType > & constraintInfos, std::size_t geomIdx) Extracts PolyhedralSurface constraints and adds them to the triangulation. |
void | organizeSimplifiedConstraints (const CT & ct, const std::vector< ConstraintInfoType > & constraintInfos, const SegmentStore & store, CoordinateType dimension, std::map< size_t, std::unique_ptr< LineString > > & linestrings, std::map< size_t, std::map< size_t, LineString > > & polygonRings, std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & multiPolygonRings, std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & polyhedralSurfaceRings) Organizes simplified constraints into corresponding data structures. |
std::unique_ptr< GeometryCollection > | reconstructAllGeometries (const GeometryCollection & collection, const std::map< size_t, std::unique_ptr< LineString > > & linestrings, const std::map< size_t, std::map< size_t, LineString > > & polygonRings, const std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & multiPolygonRings, const std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & polyhedralSurfaceRings) Reconstructs all geometries from simplified constraints, preserving dimensions. |
void | reconstructLineString (const std::map< size_t, std::unique_ptr< LineString > > & linestrings, const GeometryCollection & collection, std::size_t geomIdx, GeometryCollection & result) Reconstructs a LineString in aGeometryCollection from simplified constraints. |
void | reconstructMultiPolygon (const std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & multiPolygonRings, const GeometryCollection & collection, std::size_t geomIdx, GeometryCollection & result) Reconstructs a MultiPolygon in aGeometryCollection from simplified rings, preserving dimensions. |
void | reconstructPolygon (const std::map< size_t, std::map< size_t, LineString > > & polygonRings, const GeometryCollection & collection, std::size_t geomIdx, GeometryCollection & result) Reconstructs a Polygon in aGeometryCollection from simplified rings. |
void | reconstructPolyhedralSurface (const std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & polyhedralSurfaceRings, const GeometryCollection & collection, std::size_t geomIdx, GeometryCollection & result) Reconstructs a PolyhedralSurface in aGeometryCollection from simplified rings, preserving dimensions. |
Public Types Documentation#
typedef CDT#
using SFCGAL::detail::CDT = typedef CGAL::Constrained_Delaunay_triangulation_2<K, TDS, CGAL::Exact_predicates_tag>;
typedef CGALPoint#
using SFCGAL::detail::CGALPoint = typedef CT::Point;
typedef CT#
using SFCGAL::detail::CT = typedef CGAL::Constrained_triangulation_plus_2<CDT>;
typedef ConstraintInfoType#
using SFCGAL::detail::ConstraintInfoType = typedef ConstraintOrderInfo<Constraint_id>;
typedef Constraint_id#
using SFCGAL::detail::Constraint_id = typedef CT::Constraint_id;
typedef Constraint_iterator#
using SFCGAL::detail::Constraint_iterator = typedef CT::Constraint_iterator;
typedef Cost#
using SFCGAL::detail::Cost = typedef PS::Squared_distance_cost;
enum ElementFlag#
enum detail::ElementFlag {
FLAG_IS_PLANAR = 1
};
Flags available for each type of Geometry type. Primitives can be 'flagged' in order to speed up recomposition
typedef Fb#
using SFCGAL::detail::Fb = typedef CGAL::Constrained_triangulation_face_base_2<K>;
typedef K#
using SFCGAL::detail::K = typedef CGAL::Projection_traits_xy_3<SFCGAL::Kernel>;
typedef MarkedPolyhedron#
typedef CGAL::Polyhedron_3<Kernel, Items_with_mark_on_hedge> SFCGAL::detail::MarkedPolyhedron;
typedef Points_in_constraint_iterator#
using SFCGAL::detail::Points_in_constraint_iterator = typedef CT::Points_in_constraint_iterator;
enum PrimitiveType#
Primitive type enumeration. Note that the value is the dimension !
enum detail::PrimitiveType {
PrimitivePoint = 0,
PrimitiveSegment = 1,
PrimitiveSurface = 2,
PrimitiveVolume = 3
};
typedef Stop#
using SFCGAL::detail::Stop = typedef PS::Stop_above_cost_threshold;
typedef TDS#
using SFCGAL::detail::TDS = typedef CGAL::Triangulation_data_structure_2<Vb, Fb>;
typedef Vb#
using SFCGAL::detail::Vb = typedef PS::Vertex_base_2<K>;
Public Functions Documentation#
function _collect_points#
void detail::_collect_points (
const CGAL::Polygon_with_holes_2< Kernel > & poly,
GeometrySet < 2 >::PointCollection & points
)
function _collect_points#
void detail::_collect_points (
const CGAL::Triangle_3< Kernel > & tri,
GeometrySet < 3 >::PointCollection & points
)
function _collect_points#
void detail::_collect_points (
const NoVolume &,
GeometrySet < 2 >::PointCollection &
)
function _collect_points#
void detail::_collect_points (
const MarkedPolyhedron & poly,
GeometrySet < 3 >::PointCollection & points
)
function _decompose_polygon#
void detail::_decompose_polygon (
const Polygon & poly,
GeometrySet < 2 >::SurfaceCollection & surfaces,
dim_t < 2 >
)
function _decompose_polygon#
void detail::_decompose_polygon (
const Polygon & poly,
GeometrySet < 3 >::SurfaceCollection & surfaces,
dim_t < 3 >
)
function _decompose_solid#
void detail::_decompose_solid (
const Solid &,
GeometrySet < 2 >::VolumeCollection &,
dim_t < 2 >
)
function _decompose_solid#
void detail::_decompose_solid (
const Solid & solid,
GeometrySet < 3 >::VolumeCollection & volumes,
dim_t < 3 >
)
function _decompose_triangle#
void detail::_decompose_triangle (
const Triangle & tri,
GeometrySet < 2 >::SurfaceCollection & surfaces,
dim_t < 2 >
)
function _decompose_triangle#
void detail::_decompose_triangle (
const Triangle & tri,
GeometrySet < 3 >::SurfaceCollection & surfaces,
dim_t < 3 >
)
function _filter_covered#
template<int Dim, class IT>
void detail::_filter_covered (
IT ibegin,
IT iend,
GeometrySet < Dim > & output
)
function compute_solid_bbox#
inline CGAL::Bbox_2 detail::compute_solid_bbox (
const NoVolume &,
dim_t < 2 >
)
function compute_solid_bbox#
inline CGAL::Bbox_3 detail::compute_solid_bbox (
const TypeForDimension < 3 >::Volume & vol,
dim_t < 3 >
)
function operator<<#
Display operator.
auto detail::operator<< (
std::ostream & ostr,
const GeometrySet < 2 > & g
)
function operator<<#
Display operator.
auto detail::operator<< (
std::ostream & ostr,
const GeometrySet < 3 > & g
)
function operator<<#
template<class Primitive>
std::ostream & detail::operator<< (
std::ostream & ostr,
const CollectionElement < Primitive > & p
)
function polygonSetToMultiPolygon#
convert a CGAL::Polygon_set_2 to a MultiPolygon __
auto detail::polygonSetToMultiPolygon (
const CGAL::Polygon_set_2< Kernel > & polygonSet
)
Todo
unittest
function recompose_points#
template<int Dim>
void detail::recompose_points (
const typename GeometrySet < Dim >::PointCollection & points,
std::vector< Geometry * > & rpoints,
dim_t < Dim >
)
function recompose_segments#
template<int Dim>
void detail::recompose_segments (
const typename GeometrySet < Dim >::SegmentCollection & segments,
std::vector< Geometry * > & lines,
dim_t < Dim >
)
function recompose_surfaces#
void detail::recompose_surfaces (
const GeometrySet < 2 >::SurfaceCollection & surfaces,
std::vector< Geometry * > & output,
dim_t < 2 >
)
function recompose_surfaces#
void detail::recompose_surfaces (
const GeometrySet < 3 >::SurfaceCollection & surfaces,
std::vector< Geometry * > & output,
dim_t < 3 >
)
function recompose_volumes#
void detail::recompose_volumes (
const GeometrySet < 2 >::VolumeCollection &,
std::vector< Geometry * > &,
dim_t < 2 >
)
function recompose_volumes#
void detail::recompose_volumes (
const GeometrySet < 3 >::VolumeCollection & volumes,
std::vector< Geometry * > & output,
dim_t < 3 >
)
function simplify#
Wrapper for the algorithm::simplify function.
inline auto detail::simplify (
const Geometry & geometry,
double threshold,
bool preserveTopology
)
Parameters:
geometry
The geometry to simplifythreshold
The simplification thresholdpreserveTopology
Whether to preserve topology
Returns:
A simplified geometry
function simplifyGeometryCollection#
Simplifies a GeometryCollection .
auto detail::simplifyGeometryCollection (
const GeometryCollection & collection,
double threshold,
bool preserveTopology
)
Parameters:
collection
The GeometryCollection to simplifythreshold
The simplification thresholdpreserveTopology
Whether to preserve topology
Returns:
A simplified geometry
function simplifyGeometryCollectionTopology#
Simplifies a GeometryCollection with topology preservation.
auto detail::simplifyGeometryCollectionTopology (
const GeometryCollection & collection,
double threshold
)
Parameters:
collection
The GeometryCollection to simplifythreshold
The simplification threshold
Returns:
A simplified geometry
function simplifyLineString#
Simplifies a LineString .
auto detail::simplifyLineString (
const LineString & lineString,
double threshold,
bool preserveTopology,
const SegmentStore & store
)
Parameters:
lineString
The LineString to simplifythreshold
The simplification thresholdpreserveTopology
Whether to preserve topologystore
The segment store for interpolation
Returns:
A simplified geometry
function simplifyMultiLineString#
Simplifies a MultiLineString .
auto detail::simplifyMultiLineString (
const MultiLineString & multiLine,
double threshold,
bool preserveTopology
)
Parameters:
multiLine
The MultiLineString to simplifythreshold
The simplification thresholdpreserveTopology
Whether to preserve topology
Returns:
A simplified geometry
function simplifyMultiPolygon#
Simplifies a MultiPolygon .
auto detail::simplifyMultiPolygon (
const MultiPolygon & multiPolygon,
double threshold,
bool preserveTopology
)
Parameters:
multiPolygon
The MultiPolygon to simplifythreshold
The simplification thresholdpreserveTopology
Whether to preserve topology
Returns:
A simplified geometry
function simplifyPolygon#
Simplifies a Polygon .
auto detail::simplifyPolygon (
const Polygon & polygon,
double threshold,
bool preserveTopology
)
Parameters:
polygon
The Polygon to simplifythreshold
The simplification thresholdpreserveTopology
Whether to preserve topology
Returns:
A simplified geometry
function simplifyPolyhedralSurface#
Simplifies a PolyhedralSurface .
auto detail::simplifyPolyhedralSurface (
const PolyhedralSurface & polySurface,
double threshold,
bool preserveTopology
)
Parameters:
polySurface
The PolyhedralSurface to simplifythreshold
The simplification thresholdpreserveTopology
Whether to preserve topology
Returns:
A simplified geometry
Public Static Functions Documentation#
function buildLineStringFromConstraint#
Builds a LineString from constraint points.
static LineString detail::buildLineStringFromConstraint (
const CT & ct,
const Constraint_id & cid,
const SegmentStore & store,
CoordinateType dimension
)
Parameters:
ct
The constrained triangulationcid
The constraint IDstore
The segment store for interpolationdimension
The coordinate dimension type
Returns:
A LineString built from the simplified constraint
function extractAllConstraints#
Extracts constraints from all geometry types in a collection.
static void detail::extractAllConstraints (
const GeometryCollection & collection,
CT & ct,
std::vector< ConstraintInfoType > & constraintInfos
)
Parameters:
collection
The source GeometryCollectionct
The constrained triangulation to add toconstraintInfos
Collection of constraint infos
function extractLineStringConstraints#
Extracts LineString constraints and adds them to the triangulation.
static bool detail::extractLineStringConstraints (
const LineString & lineString,
CT & ct,
std::vector< ConstraintInfoType > & constraintInfos,
std::size_t geomIdx
)
Parameters:
lineString
The source LineStringct
The constrained triangulation to add toconstraintInfos
Collection of constraint infosgeomIdx
The geometry index
Returns:
true if constraint was added, false otherwise
function extractMultiPolygonConstraints#
Extracts MultiPolygon constraints and adds them to the triangulation.
static void detail::extractMultiPolygonConstraints (
const MultiPolygon & multiPolygon,
CT & ct,
std::vector< ConstraintInfoType > & constraintInfos,
std::size_t geomIdx
)
Parameters:
multiPolygon
The source MultiPolygonct
The constrained triangulation to add toconstraintInfos
Collection of constraint infosgeomIdx
The geometry index
function extractPointsFromLineString#
Extracts points from a LineString to create a CGAL point vector.
static std::vector< CGALPoint > detail::extractPointsFromLineString (
const LineString & lineString
)
Parameters:
lineString
The source LineString
Returns:
Vector of CGALPoints
function extractPointsFromRing#
Extracts points from a ring to create a CGAL point vector.
static std::vector< CGALPoint > detail::extractPointsFromRing (
const LineString & ring
)
Parameters:
ring
The source ring (LineString)
Returns:
Vector of CGALPoints
function extractPolygonConstraints#
Extracts polygon constraints and adds them to the triangulation.
static void detail::extractPolygonConstraints (
const Polygon & polygon,
CT & ct,
std::vector< ConstraintInfoType > & constraintInfos,
std::size_t geomIdx
)
Parameters:
polygon
The source polygonct
The constrained triangulation to add toconstraintInfos
Collection of constraint infosgeomIdx
The geometry index
function extractPolygonExteriorConstraint#
Extracts polygon exterior ring constraints and adds them to the triangulation.
static bool detail::extractPolygonExteriorConstraint (
const LineString & ring,
CT & ct,
std::vector< ConstraintInfoType > & constraintInfos,
std::size_t geomIdx,
std::size_t polyIdx,
ConstraintInfo::Type type
)
Parameters:
ring
The exterior ringct
The constrained triangulation to add toconstraintInfos
Collection of constraint infosgeomIdx
The geometry indextype
The constraint type
Returns:
true if constraint was added, false otherwise
function extractPolygonInteriorConstraints#
Extracts polygon interior ring constraints and adds them to the triangulation.
static void detail::extractPolygonInteriorConstraints (
const Polygon & polygon,
CT & ct,
std::vector< ConstraintInfoType > & constraintInfos,
std::size_t geomIdx,
std::size_t polyIdx,
ConstraintInfo::Type type
)
Parameters:
polygon
The source polygonct
The constrained triangulation to add toconstraintInfos
Collection of constraint infosgeomIdx
The geometry indexpolyIdx
The polygon index in a collectiontype
The constraint type for interior rings
function extractPolyhedralSurfaceConstraints#
Extracts PolyhedralSurface constraints and adds them to the triangulation.
static void detail::extractPolyhedralSurfaceConstraints (
const PolyhedralSurface & surface,
CT & ct,
std::vector< ConstraintInfoType > & constraintInfos,
std::size_t geomIdx
)
Parameters:
surface
The source PolyhedralSurfacect
The constrained triangulation to add toconstraintInfos
Collection of constraint infosgeomIdx
The geometry index
function organizeSimplifiedConstraints#
Organizes simplified constraints into corresponding data structures.
static void detail::organizeSimplifiedConstraints (
const CT & ct,
const std::vector< ConstraintInfoType > & constraintInfos,
const SegmentStore & store,
CoordinateType dimension,
std::map< size_t, std::unique_ptr< LineString > > & linestrings,
std::map< size_t, std::map< size_t, LineString > > & polygonRings,
std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & multiPolygonRings,
std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & polyhedralSurfaceRings
)
Parameters:
ct
The constrained triangulation with simplified constraintsconstraintInfos
Collection of constraint infosstore
The segment store for interpolationdimension
The coordinate dimension typelinestrings
Output map for linestringspolygonRings
Output map for polygon ringsmultiPolygonRings
Output map for multipolygon ringspolyhedralSurfaceRings
Output map for polyhedral surface rings
function reconstructAllGeometries#
Reconstructs all geometries from simplified constraints, preserving dimensions.
static std::unique_ptr< GeometryCollection > detail::reconstructAllGeometries (
const GeometryCollection & collection,
const std::map< size_t, std::unique_ptr< LineString > > & linestrings,
const std::map< size_t, std::map< size_t, LineString > > & polygonRings,
const std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & multiPolygonRings,
const std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & polyhedralSurfaceRings
)
Parameters:
collection
The original GeometryCollectionlinestrings
Map of simplified linestringspolygonRings
Map of simplified polygon ringsmultiPolygonRings
Map of simplified multipolygon ringspolyhedralSurfaceRings
Map of simplified polyhedral surface rings
Returns:
A unique_ptr to a GeometryCollection with reconstructed geometries
function reconstructLineString#
Reconstructs a LineString in aGeometryCollection from simplified constraints.
static void detail::reconstructLineString (
const std::map< size_t, std::unique_ptr< LineString > > & linestrings,
const GeometryCollection & collection,
std::size_t geomIdx,
GeometryCollection & result
)
Parameters:
linestrings
Map of simplified linestringscollection
The original GeometryCollectiongeomIdx
The geometry indexresult
The output GeometryCollection
function reconstructMultiPolygon#
Reconstructs a MultiPolygon in aGeometryCollection from simplified rings, preserving dimensions.
static void detail::reconstructMultiPolygon (
const std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & multiPolygonRings,
const GeometryCollection & collection,
std::size_t geomIdx,
GeometryCollection & result
)
Parameters:
multiPolygonRings
Map of simplified multipolygon ringscollection
The original GeometryCollectiongeomIdx
The geometry indexresult
The output GeometryCollection
function reconstructPolygon#
Reconstructs a Polygon in aGeometryCollection from simplified rings.
static void detail::reconstructPolygon (
const std::map< size_t, std::map< size_t, LineString > > & polygonRings,
const GeometryCollection & collection,
std::size_t geomIdx,
GeometryCollection & result
)
Parameters:
polygonRings
Map of simplified polygon ringscollection
The original GeometryCollectiongeomIdx
The geometry indexresult
The output GeometryCollection
function reconstructPolyhedralSurface#
Reconstructs a PolyhedralSurface in aGeometryCollection from simplified rings, preserving dimensions.
static void detail::reconstructPolyhedralSurface (
const std::map< size_t, std::map< size_t, std::map< size_t, LineString > > > & polyhedralSurfaceRings,
const GeometryCollection & collection,
std::size_t geomIdx,
GeometryCollection & result
)
Parameters:
polyhedralSurfaceRings
Map of simplified polyhedral surface ringscollection
The original GeometryCollectiongeomIdx
The geometry indexresult
The output GeometryCollection
The documentation for this class was generated from the following file /builds/sfcgal/SFCGAL/src/algorithm/covers.h