LuciadCPillar 2024.0.04
luciad::ExtrudedGeometry Class Reference

Represents an extruded geometry. More...

#include <luciad/geometries/ExtrudedGeometry.h>

Inheritance diagram for luciad::ExtrudedGeometry:
luciad::Geometry

Public Member Functions

 ~ExtrudedGeometry () override
 
std::shared_ptr< luciad::GeometrygetBaseGeometry () const
 Returns the base geometry. More...
 
Bounds getBounds () const override
 Returns the bounds for the geometry object. More...
 
double getMaxHeight () const
 Returns the upper/top boundary of the 3D volume. More...
 
double getMinHeight () const
 Returns the lower/bottom boundary of the 3D volume. More...
 
std::shared_ptr< luciad::CoordinateReferencegetReference () const override
 Returns the coordinate reference of the geometry. More...
 
- Public Member Functions inherited from luciad::Geometry
virtual ~Geometry ()=default
 
virtual Bounds getBounds () const =0
 Returns the bounds for the geometry object. More...
 
virtual std::shared_ptr< CoordinateReferencegetReference () const =0
 Returns the coordinate reference of the geometry. More...
 

Static Public Member Functions

static bool isBaseGeometrySupported (const std::shared_ptr< luciad::Geometry > &geometry)
 Tests whether the given geometry can be used as a base geometry for an ExtrudedGeometry. More...
 

Protected Member Functions

size_t getHash () const override
 Returns the hash value for this geometry. More...
 
virtual size_t getHash () const =0
 Returns the hash value for this geometry. More...
 

Detailed Description

Represents an extruded geometry.

See also
GeometryFactory::createExtrudedGeometry

Constructor & Destructor Documentation

◆ ~ExtrudedGeometry()

luciad::ExtrudedGeometry::~ExtrudedGeometry ( )
override

Member Function Documentation

◆ getBaseGeometry()

std::shared_ptr< luciad::Geometry > luciad::ExtrudedGeometry::getBaseGeometry ( ) const

Returns the base geometry.

Returns
the base geometry.

◆ getBounds()

Bounds luciad::ExtrudedGeometry::getBounds ( ) const
overridevirtual

Returns the bounds for the geometry object.

Returns
the bounds for the geometry object.
Exceptions
luciad::InvalidArgumentExceptionif the bounds could not be computed. For example, when the geometry is defined by invalid points.

Implements luciad::Geometry.

◆ getHash()

size_t luciad::ExtrudedGeometry::getHash ( ) const
overrideprotectedvirtual

Returns the hash value for this geometry.

Returns
the hash value for this geometry.

Implements luciad::Geometry.

◆ getMaxHeight()

double luciad::ExtrudedGeometry::getMaxHeight ( ) const

Returns the upper/top boundary of the 3D volume.

Returns
the upper/top boundary of the 3D volume.

◆ getMinHeight()

double luciad::ExtrudedGeometry::getMinHeight ( ) const

Returns the lower/bottom boundary of the 3D volume.

Returns
the lower/bottom boundary of the 3D volume.

◆ getReference()

std::shared_ptr< luciad::CoordinateReference > luciad::ExtrudedGeometry::getReference ( ) const
overridevirtual

Returns the coordinate reference of the geometry.

Returns
the coordinate reference of the geometry.

Implements luciad::Geometry.

◆ isBaseGeometrySupported()

static bool luciad::ExtrudedGeometry::isBaseGeometrySupported ( const std::shared_ptr< luciad::Geometry > &  geometry)
static

Tests whether the given geometry can be used as a base geometry for an ExtrudedGeometry.

Currently, all luciad::Curve and luciad::Surface geometries are supported, as well as luciad::MultiGeometry instances that consist solely of such geometries.

Parameters
geometrythe geometry to check.
Returns
true if the given geometry can be used as a base for an ExtrudedGeometry.