Geometry
Description
- Derived from
-
GeometryBase abstract
Base class for default IGeometry implementations in the Tinman SDK.
Public / Constructors
ForCoordinateSystem
Creates a new instance of IGeometry that computes geocentric coordinates based on the given geo-reference.
Please refer to Cubemap, LatLon and Geocentric for details on the mapping between terrain-space, heightmap, geographic and geocentric coordinates.
For geographic and projected coordinate systems (see CoordinateSystem.IsGeographic and CoordinateSystem.IsProjection), the IGeometry.ToGeocentric property of the created IGeometry object will return a Geocentric object that has been created with Geocentric.For1, using CoordinateSystem.Geographic of coordSys in.
For local coordinate systems (see CoordinateSystem.IsLocal), this method will create a planar IGeometry object, analogously to Plane.
- GeorefException
-
If the given geo-reference is not suitable.
ForGeoref
Creates a new instance of IGeometry that computes geocentric coordinates based on the given geo-reference.
This method delegates to ForRaster, using IGeorefInfo.Georef of georef in.
- GeorefException
-
If the given geo-reference is not suitable.
ForRaster
Creates a new instance of IGeometry that computes geocentric coordinates based on the given geo-reference.
This method delegates to ForCoordinateSystem using Raster.Coordinates and Raster.Transform, taking into account Raster.RasterType to distinguish between rectangular and cubemap rasters.
- GeorefException
-
If the given geo-reference is not suitable.
Plane
Creates a new instance of IGeometry of type MapType.Rect that uses a plane as base geometry.
The positive heightmap space X-axis is mapped to the positive terrain space X-axis, the positive heightmap space Y-axis is mapped to the positive terrain space Z-axis and the heightmap elevation is mapped to the positive terrain space Y-axis. The center sample of the heightmap is mapped to the terrain space origin:
Heightmap space: ---------------- O--------+ +----> X |(0,0) | | | | | | | V | (w,h)| +--------O Y Terrain space: -------------- | Z- (-w/2,-h/2) | (w/2,-h/2) +-----+-----+ | | | | | | X- ----+-----0-----+---- X+ | | | | | | +-----+-----+ (-w/2,-h/2) | (w/2,h/2) | Z+ w := Heightmap width, minus one h := Heightmap height, minus one
The IGeometry.ToGeocentric property of the created IGeometry object will return null
.
Sphere
Creates a new instance of IGeometry that uses a sphere as base geometry.
Please refer to Cubemap, LatLon and Geocentric for details on the mapping between terrain-space, heightmap, geographic and geocentric coordinates.
The IGeometry.ToGeocentric property of the created IGeometry object will return a Geocentric object that has been created with Geocentric.For3, using unit opt and radius in (as both semi-major and semi-minor axis).
Protected / Constructors
Geometry
2 overloads
Creates a new instance of Geometry for MapType.Cube.
Creates a new instance of Geometry for MapType.Rect.