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 ILcdComplexPolygon
s are not supported.
Constructor and Description |
---|
TLcdExtrudedPolygonViewshedFactory(ILcdGeoReference aViewshedReference,
ALcdViewshedObserver aViewshedObserver)
Creates a new
TLcdExtrudedPolygonViewshedFactory , given an ALcdViewshedObserver . |
Modifier and Type | Method and Description |
---|---|
boolean |
canCreateViewshed(Object aObject,
ILcdModelModelTransformation aModelModelTransformation)
Checks if this
TLcdExtrudedPolygonViewshedFactory can create a
viewshed for the given aObject . |
ILcdViewshed |
createViewshed(Object aObject,
ILcdModelModelTransformation aModelModelTransformation)
Creates a viewshed for a given extruded shape.
|
ALcdViewshedObserver |
getViewshedObserver()
Returns the viewshed observer for this
TLcdExtrudedPolygonViewshedFactory . |
ILcdGeoReference |
getViewshedReference()
Returns the viewshed reference of the generated viewsheds.
|
public TLcdExtrudedPolygonViewshedFactory(ILcdGeoReference aViewshedReference, ALcdViewshedObserver aViewshedObserver)
TLcdExtrudedPolygonViewshedFactory
, given an ALcdViewshedObserver
.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.public ILcdGeoReference getViewshedReference()
public ALcdViewshedObserver getViewshedObserver()
TLcdExtrudedPolygonViewshedFactory
.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.
createViewshed
in interface ILcdViewshedFactory
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
.aObject
, for the observer given by getViewshedObserver()
and
in the destination reference of aModelModelTransformation
.createViewshed(com.luciad.shape.shape3D.ILcdExtrudedShape, com.luciad.transformation.ILcdModelModelTransformation)
public boolean canCreateViewshed(Object aObject, ILcdModelModelTransformation aModelModelTransformation)
TLcdExtrudedPolygonViewshedFactory
can create a
viewshed for the given aObject
.canCreateViewshed
in interface ILcdViewshedFactory
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
.aObject
is an ILcdExtrudedShape
that contains an
ILcdPolygon
or ILcdComplexPolygon
.