Skip to content

Class SFCGAL::Solid

ClassList > SFCGAL > Solid

More...

  • #include <Solid.h>

Inherits the following classes: SFCGAL::Geometry

Public Types

Type Name
typedef boost::ptr_vector< PolyhedralSurface >::const_iterator const_iterator
typedef boost::ptr_vector< PolyhedralSurface >::iterator iterator

Public Functions

Type Name
Solid ()
Solid (const PolyhedralSurface & exteriorShell)
Solid (PolyhedralSurface * exteriorShell)
Solid (const std::vector< PolyhedralSurface > & shells)
Solid (const Solid & other)
virtual void accept (GeometryVisitor & visitor)
[visitor]dispatch visitor
virtual void accept (ConstGeometryVisitor & visitor) const
[visitor]dispatch visitor
void addInteriorShell (const PolyhedralSurface & shell)
void addInteriorShell (PolyhedralSurface * shell)
iterator begin ()
const_iterator begin () const
virtual Solid * clone () const
Get a deep copy of the geometry.
virtual int coordinateDimension () const
virtual int dimension () const
iterator end ()
const_iterator end () const
const PolyhedralSurface & exteriorShell () const
PolyhedralSurface & exteriorShell ()
virtual std::string geometryType () const
[OGC/SFA]returns the geometry type
virtual GeometryType geometryTypeId () const
Returns a code corresponding to the type.
const PolyhedralSurface & interiorShellN (size_t const & n) const
PolyhedralSurface & interiorShellN (size_t const & n)
virtual bool is3D () const
virtual bool isEmpty () const
virtual bool isMeasured () const
size_t numInteriorShells () const
size_t numShells () const
Solid & operator= (Solid other)
void serialize (Archive & ar, const unsigned int)
const PolyhedralSurface & shellN (const size_t & n) const
PolyhedralSurface & shellN (const size_t & n)
~Solid ()

Public Functions inherited from SFCGAL::Geometry

See SFCGAL::Geometry

Type Name
Geometry ()
Default constructor.
Geometry (const Geometry &) = default
Copy constructor.
virtual void accept (GeometryVisitor & visitor) = 0
[visitor]dispatch visitor
virtual void accept (ConstGeometryVisitor & visitor) const = 0
[visitor]dispatch visitor
auto almostEqual (const Geometry & other, const double tolerance) const
const Derived & as () const
Downcast to a "Derived" class.
Derived & as ()
Downcast to a "Derived" class.
std::string asText (const int & numDecimals=-1) const
std::string asWkb (boost::endian::order wkbOrder=boost::endian::order::native, bool asHex=false) const
virtual std::unique_ptr< Geometry > boundary () const
[OGC/SFA]Returns the boundary of the geometry
virtual Geometry * clone () const = 0
Get a deep copy of the geometry.
virtual int coordinateDimension () const = 0
virtual int dimension () const = 0
double distance (const Geometry & other) const
Computes the distance to an other geometry.
double distance3D (const Geometry & other) const
Computes the 3D distance to an other geometry.
Envelope envelope () const
void forceValidityFlag (bool validity)
virtual const Geometry & geometryN (size_t const & n) const
[OGC/SFA]Returns the n-th geometry
virtual Geometry & geometryN (size_t const & n)
[OGC/SFA]Returns the n-th geometry
virtual std::string geometryType () const = 0
[OGC/SFA]returns the geometry type
virtual GeometryType geometryTypeId () const = 0
Returns a code corresponding to the type.
bool hasValidityFlag () const
bool is () const
Tests if geometry is of "Derived" type given as template parameter.
virtual bool is3D () const = 0
virtual bool isEmpty () const = 0
virtual bool isMeasured () const = 0
virtual size_t numGeometries () const
[OGC/SFA]Gets the number of geometries in a collection of geometries
Geometry & operator= (const Geometry & other) = default
Copy assignemnt operator.
void round (const long & scale=1)
round the geometry with a corresponding scale factor
void serialize (Archive &, const unsigned int)
virtual ~Geometry () = default
Destructor.

Protected Attributes inherited from SFCGAL::Geometry

See SFCGAL::Geometry

Type Name
bool validityFlag_ = = false

Detailed Description

A Solid modeled with an exteriorShell and interiorShells materialized by PolyhedralSurface.

Note:

A shell is supposed to be closed.

Warning:

GM_Solid, from ISO 19107 is defined in CityGML, but not in SFA. Without Solid concept,

Note:

Volume concept is missing.

Public Types Documentation

typedef const_iterator

typedef boost::ptr_vector<PolyhedralSurface>::const_iterator SFCGAL::Solid::const_iterator;

typedef iterator

typedef boost::ptr_vector<PolyhedralSurface>::iterator SFCGAL::Solid::iterator;

Public Functions Documentation

function Solid [1/5]

SFCGAL::Solid::Solid () 

Empty Solid constructor


function Solid [2/5]

SFCGAL::Solid::Solid (
    const PolyhedralSurface & exteriorShell
) 

Constructor with an exterior shell


function Solid [3/5]

SFCGAL::Solid::Solid (
    PolyhedralSurface * exteriorShell
) 

Constructor with an exterior shell (takes ownership)


function Solid [4/5]

SFCGAL::Solid::Solid (
    const std::vector< PolyhedralSurface > & shells
) 

Constructor with a vector of shells (PolyhedralSurface)


function Solid [5/5]

SFCGAL::Solid::Solid (
    const Solid & other
) 

Copy constructor


function accept [1/2]

virtual void SFCGAL::Solid::accept (
    GeometryVisitor & visitor
) 

Implements SFCGAL::Geometry::accept


function accept [2/2]

virtual void SFCGAL::Solid::accept (
    ConstGeometryVisitor & visitor
) const

Implements SFCGAL::Geometry::accept


function addInteriorShell [1/2]

inline void SFCGAL::Solid::addInteriorShell (
    const PolyhedralSurface & shell
) 

add a polygon to the PolyhedralSurface


function addInteriorShell [2/2]

inline void SFCGAL::Solid::addInteriorShell (
    PolyhedralSurface * shell
) 

add a polygon to the PolyhedralSurface


function begin [1/2]

inline iterator SFCGAL::Solid::begin () 

function begin [2/2]

inline const_iterator SFCGAL::Solid::begin () const

function clone

virtual Solid * SFCGAL::Solid::clone () const

Implements SFCGAL::Geometry::clone


function coordinateDimension

virtual int SFCGAL::Solid::coordinateDimension () const

[OGC/SFA]returns the dimension of the coordinates

Precondition:

suppose no mix of 2D/3D coordinates

Implements SFCGAL::Geometry::coordinateDimension


function dimension

virtual int SFCGAL::Solid::dimension () const

[OGC/SFA]Dimension of the Geometry ( 0 : punctual, 1 : curve, ...)

Warning:

empty geometries provide the dimension corresponding to the object

Implements SFCGAL::Geometry::dimension


function end [1/2]

inline iterator SFCGAL::Solid::end () 

function end [2/2]

inline const_iterator SFCGAL::Solid::end () const

function exteriorShell [1/2]

inline const PolyhedralSurface & SFCGAL::Solid::exteriorShell () const

Returns the exterior shell


function exteriorShell [2/2]

inline PolyhedralSurface & SFCGAL::Solid::exteriorShell () 

Returns the exterior shell


function geometryType

[OGC/SFA]returns the geometry type

virtual std::string SFCGAL::Solid::geometryType () const

Warning:

use CamelCase (LineString, not LINESTRING)

Implements SFCGAL::Geometry::geometryType


function geometryTypeId

Returns a code corresponding to the type.

virtual GeometryType SFCGAL::Solid::geometryTypeId () const

Warning:

not standard

Implements SFCGAL::Geometry::geometryTypeId


function interiorShellN [1/2]

inline const PolyhedralSurface & SFCGAL::Solid::interiorShellN (
    size_t const & n
) const

Returns the n-th interior shell


function interiorShellN [2/2]

inline PolyhedralSurface & SFCGAL::Solid::interiorShellN (
    size_t const & n
) 

Returns the n-th interior shell


function is3D

virtual bool SFCGAL::Solid::is3D () const

[OGC/SFA]test if geometry is 3d

Precondition:

suppose no mix of 2D/3D coordinates

Implements SFCGAL::Geometry::is3D


function isEmpty

virtual bool SFCGAL::Solid::isEmpty () const

[OGC/SFA]test if geometry is empty

Implements SFCGAL::Geometry::isEmpty


function isMeasured

virtual bool SFCGAL::Solid::isMeasured () const

[OGC/SFA]test if geometry is measured (has an m)

Precondition:

suppose no mix of M/!M points

Implements SFCGAL::Geometry::isMeasured


function numInteriorShells

inline size_t SFCGAL::Solid::numInteriorShells () const

Returns the number of interior shells


function numShells

inline size_t SFCGAL::Solid::numShells () const

Returns the number of shells


function operator=

Solid & SFCGAL::Solid::operator= (
    Solid other
) 

assign operator


function serialize

template<class Archive>
inline void SFCGAL::Solid::serialize (
    Archive & ar,
    const unsigned int
) 

Serializer


function shellN [1/2]

inline const PolyhedralSurface & SFCGAL::Solid::shellN (
    const size_t & n
) const

Returns the n-th shell, 0 is exteriorShell

Warning:

not standard, avoid conditionnal to access rings


function shellN [2/2]

inline PolyhedralSurface & SFCGAL::Solid::shellN (
    const size_t & n
) 

Returns the n-th shell, 0 is exteriorShell

Warning:

not standard, avoid conditionnal to access rings


function ~Solid

SFCGAL::Solid::~Solid () 

destructor



The documentation for this class was generated from the following file /builds/sfcgal/SFCGAL/src/Solid.h