LuciadCPillar 2023.1.04
luciad::ObservableGeometryUtil Class Referencefinal

This class provides utility methods for Observable instance for Geometry. More...

#include <luciad/geometries/observable/ObservableGeometryUtil.h>

Public Member Functions

 ObservableGeometryUtil ()=delete
 

Static Public Member Functions

static std::shared_ptr< Observable< std::shared_ptr< ArcBand > > > deriveArcBand (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable ArcBand from the given observable geometry by casting the geometry instance to a ArcBand instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< BezierCurve > > > deriveBezierCurve (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable BezierCurve from the given observable geometry by casting the geometry instance to a BezierCurve instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< CircleBy3Points > > > deriveCircleBy3Points (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable CircleBy3Points from the given observable geometry by casting the geometry instance to a CircleBy3Points instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< CircleByCenterPoint > > > deriveCircleByCenterPoint (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable CircleByCenterPoint from the given observable geometry by casting the geometry instance to a circle instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< CircularArcBy3Points > > > deriveCircularArcBy3Points (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable CircularArcBy3Points from the given observable geometry by casting the geometry instance to a CircularArcBy3Points instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< CircularArcByBulge > > > deriveCircularArcByBulge (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable CircularArcByBulge from the given observable geometry by casting the geometry instance to a CircularArcByBulge instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< CircularArcByCenterPoint > > > deriveCircularArcByCenterPoint (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable CircularArcByCenterPoint from the given observable geometry by casting the geometry instance to a CircularArcByCenterPoint instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< CompositeCurve > > > deriveCompositeCurve (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable CompositeCurve from the given observable geometry by casting the geometry instance to a CompositeCurve instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< CompositePatch > > > deriveCompositePatch (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable CompositePatch from the given observable geometry by casting the geometry instance to a CompositePatch instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< CompositeRing > > > deriveCompositeRing (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable CompositeRing from the given observable geometry by casting the geometry instance to a CompositeRing instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Curve > > > deriveCurve (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Curve from the given observable geometry by casting the geometry instance to a Curve instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Ellipse > > > deriveEllipse (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Ellipse from the given observable geometry by casting the geometry instance to an ellipse instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< EllipticalArc > > > deriveEllipticalArc (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable EllipticalArc from the given observable geometry by casting the geometry instance to a EllipticalArc instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< ExtrudedGeometry > > > deriveExtrudedGeometry (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable ExtrudedGeometry from the given observable geometry by casting the geometry instance to a ExtrudedGeometry instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Line > > > deriveLine (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Line from the given observable geometry by casting the geometry instance to a Line instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< MultiGeometry > > > deriveMultiGeometry (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable MultiGeometry from the given observable geometry by casting the geometry instance to a MultiGeometry instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Patch > > > derivePatch (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Patch from the given observable geometry by casting the geometry instance to a patch instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Point > > > derivePoint (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Point from the given observable geometry by casting the geometry instance to a point instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Polygon > > > derivePolygon (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Polygon from the given observable geometry by casting the geometry instance to a Polygon instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Polyline > > > derivePolyline (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Polyline from the given observable geometry by casting the geometry instance to a polyline instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< PolylineRing > > > derivePolylineRing (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable PolylineRing from the given observable geometry by casting the geometry instance to a polyline ring instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Ring > > > deriveRing (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Ring from the given observable geometry by casting the geometry instance to a Ring instance. More...
 
static std::shared_ptr< Observable< std::shared_ptr< Surface > > > deriveSurface (const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &observableGeometry)
 Derives an Observable Surface from the given observable geometry by casting the geometry instance to a Surface instance. More...
 

Detailed Description

This class provides utility methods for Observable instance for Geometry.

Since
2020.1

Constructor & Destructor Documentation

◆ ObservableGeometryUtil()

luciad::ObservableGeometryUtil::ObservableGeometryUtil ( )
delete

Member Function Documentation

◆ deriveArcBand()

static std::shared_ptr< Observable< std::shared_ptr< ArcBand > > > luciad::ObservableGeometryUtil::deriveArcBand ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable ArcBand from the given observable geometry by casting the geometry instance to a ArcBand instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a ArcBand, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the ArcBand
Returns
a derived Observable
Since
2023.1.02

◆ deriveBezierCurve()

static std::shared_ptr< Observable< std::shared_ptr< BezierCurve > > > luciad::ObservableGeometryUtil::deriveBezierCurve ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable BezierCurve from the given observable geometry by casting the geometry instance to a BezierCurve instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a BezierCurve, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the BezierCurve
Returns
a derived Observable
Since
2023.1.02

◆ deriveCircleBy3Points()

static std::shared_ptr< Observable< std::shared_ptr< CircleBy3Points > > > luciad::ObservableGeometryUtil::deriveCircleBy3Points ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable CircleBy3Points from the given observable geometry by casting the geometry instance to a CircleBy3Points instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a CircleBy3Points, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the CircleBy3Points
Returns
a derived Observable
Since
2023.1.02

◆ deriveCircleByCenterPoint()

static std::shared_ptr< Observable< std::shared_ptr< CircleByCenterPoint > > > luciad::ObservableGeometryUtil::deriveCircleByCenterPoint ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable CircleByCenterPoint from the given observable geometry by casting the geometry instance to a circle instance.

This observable circle will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a circle, the observable circle instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the observable circle instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the circle
Returns
a derived Observable

◆ deriveCircularArcBy3Points()

static std::shared_ptr< Observable< std::shared_ptr< CircularArcBy3Points > > > luciad::ObservableGeometryUtil::deriveCircularArcBy3Points ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable CircularArcBy3Points from the given observable geometry by casting the geometry instance to a CircularArcBy3Points instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a CircularArcBy3Points, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the CircularArcBy3Points
Returns
a derived Observable
Since
2023.1.02

◆ deriveCircularArcByBulge()

static std::shared_ptr< Observable< std::shared_ptr< CircularArcByBulge > > > luciad::ObservableGeometryUtil::deriveCircularArcByBulge ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable CircularArcByBulge from the given observable geometry by casting the geometry instance to a CircularArcByBulge instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a CircularArcByBulge, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the CircularArcByBulge
Returns
a derived Observable
Since
2023.1.02

◆ deriveCircularArcByCenterPoint()

static std::shared_ptr< Observable< std::shared_ptr< CircularArcByCenterPoint > > > luciad::ObservableGeometryUtil::deriveCircularArcByCenterPoint ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable CircularArcByCenterPoint from the given observable geometry by casting the geometry instance to a CircularArcByCenterPoint instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a CircularArcByCenterPoint, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the CircularArcByCenterPoint
Returns
a derived Observable
Since
2023.1.02

◆ deriveCompositeCurve()

static std::shared_ptr< Observable< std::shared_ptr< CompositeCurve > > > luciad::ObservableGeometryUtil::deriveCompositeCurve ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable CompositeCurve from the given observable geometry by casting the geometry instance to a CompositeCurve instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a CompositeCurve, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the CompositeCurve
Returns
a derived Observable
Since
2023.1.02

◆ deriveCompositePatch()

static std::shared_ptr< Observable< std::shared_ptr< CompositePatch > > > luciad::ObservableGeometryUtil::deriveCompositePatch ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable CompositePatch from the given observable geometry by casting the geometry instance to a CompositePatch instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a CompositePatch, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the CompositePatch
Returns
a derived Observable
Since
2023.1.02

◆ deriveCompositeRing()

static std::shared_ptr< Observable< std::shared_ptr< CompositeRing > > > luciad::ObservableGeometryUtil::deriveCompositeRing ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable CompositeRing from the given observable geometry by casting the geometry instance to a CompositeRing instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a CompositeRing, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the CompositeRing
Returns
a derived Observable
Since
2023.1.02

◆ deriveCurve()

static std::shared_ptr< Observable< std::shared_ptr< Curve > > > luciad::ObservableGeometryUtil::deriveCurve ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Curve from the given observable geometry by casting the geometry instance to a Curve instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a Curve, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the Curve
Returns
a derived Observable
Since
2023.1.02

◆ deriveEllipse()

static std::shared_ptr< Observable< std::shared_ptr< Ellipse > > > luciad::ObservableGeometryUtil::deriveEllipse ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Ellipse from the given observable geometry by casting the geometry instance to an ellipse instance.

This observable ellipse will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a ellipse, the observable ellipse instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the observable ellipse instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the ellipse
Returns
a derived Observable

◆ deriveEllipticalArc()

static std::shared_ptr< Observable< std::shared_ptr< EllipticalArc > > > luciad::ObservableGeometryUtil::deriveEllipticalArc ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable EllipticalArc from the given observable geometry by casting the geometry instance to a EllipticalArc instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a EllipticalArc, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the EllipticalArc
Returns
a derived Observable
Since
2023.1.02

◆ deriveExtrudedGeometry()

static std::shared_ptr< Observable< std::shared_ptr< ExtrudedGeometry > > > luciad::ObservableGeometryUtil::deriveExtrudedGeometry ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable ExtrudedGeometry from the given observable geometry by casting the geometry instance to a ExtrudedGeometry instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a ExtrudedGeometry, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the ExtrudedGeometry
Returns
a derived Observable
Since
2023.1.02

◆ deriveLine()

static std::shared_ptr< Observable< std::shared_ptr< Line > > > luciad::ObservableGeometryUtil::deriveLine ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Line from the given observable geometry by casting the geometry instance to a Line instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a Line, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the Line
Returns
a derived Observable
Since
2023.1.02

◆ deriveMultiGeometry()

static std::shared_ptr< Observable< std::shared_ptr< MultiGeometry > > > luciad::ObservableGeometryUtil::deriveMultiGeometry ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable MultiGeometry from the given observable geometry by casting the geometry instance to a MultiGeometry instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a MultiGeometry, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the MultiGeometry
Returns
a derived Observable
Since
2023.1.02

◆ derivePatch()

static std::shared_ptr< Observable< std::shared_ptr< Patch > > > luciad::ObservableGeometryUtil::derivePatch ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Patch from the given observable geometry by casting the geometry instance to a patch instance.

This observable patch will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a patch, the observable patch instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the observable patch instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the patch
Returns
a derived Observable

◆ derivePoint()

static std::shared_ptr< Observable< std::shared_ptr< Point > > > luciad::ObservableGeometryUtil::derivePoint ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Point from the given observable geometry by casting the geometry instance to a point instance.

This observable point will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a point, the observable point instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the observable point instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the point
Returns
a derived Observable

◆ derivePolygon()

static std::shared_ptr< Observable< std::shared_ptr< Polygon > > > luciad::ObservableGeometryUtil::derivePolygon ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Polygon from the given observable geometry by casting the geometry instance to a Polygon instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a Polygon, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the Polygon
Returns
a derived Observable
Since
2023.1.02

◆ derivePolyline()

static std::shared_ptr< Observable< std::shared_ptr< Polyline > > > luciad::ObservableGeometryUtil::derivePolyline ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Polyline from the given observable geometry by casting the geometry instance to a polyline instance.

This observable polyline will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a polyline, the observable polyline instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the observable polyline instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the polyline
Returns
a derived Observable

◆ derivePolylineRing()

static std::shared_ptr< Observable< std::shared_ptr< PolylineRing > > > luciad::ObservableGeometryUtil::derivePolylineRing ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable PolylineRing from the given observable geometry by casting the geometry instance to a polyline ring instance.

This observable polyline ring will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a polyline ring, the observable polyline ring instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the observable polyline ring instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the polyline ring
Returns
a derived Observable

◆ deriveRing()

static std::shared_ptr< Observable< std::shared_ptr< Ring > > > luciad::ObservableGeometryUtil::deriveRing ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Ring from the given observable geometry by casting the geometry instance to a Ring instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a Ring, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the Ring
Returns
a derived Observable
Since
2023.1.02

◆ deriveSurface()

static std::shared_ptr< Observable< std::shared_ptr< Surface > > > luciad::ObservableGeometryUtil::deriveSurface ( const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &  observableGeometry)
static

Derives an Observable Surface from the given observable geometry by casting the geometry instance to a Surface instance.

This new observable will be updated when the given observable geometry changes.

Notes:

  • When the observable geometry can not be cast to a Surface, the new observable instance will contain a nullptr value.
  • When the observable geometry contains a nullptr value, the new observable instance will contain a nullptr value too.
  • Observable::setValue will throw an exception for derived instances.
Parameters
observableGeometryan observable geometry from which to derive the Surface
Returns
a derived Observable
Since
2023.1.02