Class SFCGAL::Solid
#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