Class TLcdExtrudedPolygonViewshedFactory

java.lang.Object
com.luciad.tea.viewshed.TLcdExtrudedPolygonViewshedFactory
All Implemented Interfaces:
ILcdViewshedFactory

public class TLcdExtrudedPolygonViewshedFactory extends Object implements ILcdViewshedFactory

A viewshed factory for extruded polygons.

This viewshed factory has the capability to create viewsheds for extruded shapes. The extruded shapes must have ILcdPolygon or ILcdComplexPolygon as a baseshape. Currently holes in ILcdComplexPolygons are not supported.

Since:
11.0
  • Constructor Details

    • TLcdExtrudedPolygonViewshedFactory

      public TLcdExtrudedPolygonViewshedFactory(ILcdGeoReference aViewshedReference, ALcdViewshedObserver aViewshedObserver)
      Parameters:
      aViewshedReference - The viewshed reference that should be used by this factory. All generated viewsheds will use this reference.
      aViewshedObserver - The viewshed observer that should be used by this factory.
  • Method Details

    • getViewshedReference

      public ILcdGeoReference getViewshedReference()
      Returns the viewshed reference of the generated viewsheds.
      Returns:
      The viewshed reference that is used to generate viewsheds by this factory.
    • getViewshedObserver

      public ALcdViewshedObserver getViewshedObserver()
      Returns the viewshed observer for this TLcdExtrudedPolygonViewshedFactory.
      Returns:
      A viewshed observer.
    • createViewshed

      public ILcdViewshed createViewshed(Object aObject, ILcdModelModelTransformation aModelModelTransformation)

      Creates a viewshed for a given extruded shape.

      Currently this method only accepts extruded shapes that have a complex polygon or a polygon as their base shape. If the base shape is a complex polygon, it will only accept complex polygons without holes. Complex polygons that contain multiple outer shells are accepted.

      Specified by:
      createViewshed in interface ILcdViewshedFactory
      Parameters:
      aObject - The object for which a viewshed will be created.
      aModelModelTransformation - The transformation that transforms the domain object to the reference in which the viewshed should be defined. The source reference should be the reference of aObject and aModel. The destination reference is the desired reference of the viewshed. This should be a cartesian reference such as ILcdGeocentricReference.
      Returns:
      A viewshed representation of aObject, for the observer given by getViewshedObserver() and in the destination reference of aModelModelTransformation.
      See Also:
      • createViewshed(com.luciad.shape.shape3D.ILcdExtrudedShape, com.luciad.transformation.ILcdModelModelTransformation)
    • canCreateViewshed

      public boolean canCreateViewshed(Object aObject, ILcdModelModelTransformation aModelModelTransformation)
      Checks if this TLcdExtrudedPolygonViewshedFactory can create a viewshed for the given aObject.
      Specified by:
      canCreateViewshed in interface ILcdViewshedFactory
      Parameters:
      aObject - The object to check.
      aModelModelTransformation - The transformation that transforms the domain object to the reference in which the viewshed should be defined. The source reference should be the reference of aObject and aModel. The destination reference is the desired reference of the viewshed. This should be a cartesian reference such as ILcdGeocentricReference.
      Returns:
      true if aObject is an ILcdExtrudedShape that contains an ILcdPolygon or ILcdComplexPolygon.