Click or drag to resize
SbProj4Projection Class

Cartographic (PROJ4) projection class.

Inheritance Hierarchy
SystemObject
  OIV.InventorSoNetBase
    OIV.Inventor.ProjectionSbProjection
      OIV.Inventor.ProjectionSbProj4Projection

Namespace: OIV.Inventor.Projection
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2023.1.3.0 (2023.1.3)
Syntax
public class SbProj4Projection : SbProjection

The SbProj4Projection type exposes the following members.

Constructors
Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodExit

Exit method.

(Inherited from SbProjection.)
Public methodGetCoordinateSystem

Get current coordinate system.

Public methodGetEllipsoid

Get current ellipsoid.

Public methodGetEllipsoidIn

Get current input ellipsoid.

Public methodStatic memberGetEllipsoidString

Get PROJ.4 ellipsoid string.

Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetNumFloatParameters

Get number of used float parameters.

(Inherited from SbProjection.)
Public methodGetNumStringParameters

Get number of used string parameters.

(Inherited from SbProjection.)
Public methodGetParameter(Int32, Single)

Get float parameter at position pos.

(Inherited from SbProjection.)
Public methodGetParameter(Int32, String)

Get string parameter at position pos.

(Inherited from SbProjection.)
Public methodGetProjectedBoundingBox

Return projected bounding box if available.

(Inherited from SbProjection.)
Public methodGetProjection

Get current projection .

Public methodGetProjectionIn

Get current input projection .

Public methodStatic memberGetProjectionName

Get projection name description.

Public methodGetProjectionNode

Return associated projection node.

(Inherited from SbProjection.)
Public methodStatic memberGetProjectionString

Get internal PROJ.4 projection string.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetUTMZone

Get current UTM zone.

Public methodInit

Initialisation method.

(Inherited from SbProjection.)
Public methodInverse

Apply the inverse coordinate to one point.

(Inherited from SbProjection.)
Public methodIsRevertCoordNeeded

Get revertCoordNeeded.

Public methodIsUTMSouth

Get m_south (UTM)

Public methodProject(SbVec3f)

Apply the complete computation (matrix, pre-projection, projection, post-projection) to one point.

(Inherited from SbProjection.)
Public methodProject(SbVec3f, SbVec3f)

Apply the complete computation to a set of coordinates.

(Inherited from SbProjection.)
Public methodSetCoordinateSystem

Set current coordinate system.

Public methodSetEllipsoid

Set current ellipsoid.

Public methodSetEllipsoidIn

Set current input ellipsoid.

Public methodSetNumFloatParameters

Set number of float parameters to use.

(Inherited from SbProjection.)
Public methodSetNumStringParameters

Set number of string parameters to use.

(Inherited from SbProjection.)
Public methodSetParameter(Int32, Single)

Set float parameter.

(Inherited from SbProjection.)
Public methodSetParameter(Int32, String)

Set string parameter.

(Inherited from SbProjection.)
Public methodSetProjection

Set current projection.

Public methodSetProjectionIn

Set current input projection.

Public methodSetRevertCoord

Set revertCoordNeeded.

Public methodSetUTMSouth

Set m_south (UTM)

Public methodSetUTMZone

Set current UTM zone.

Public methodToGeocentric

Transform the given coordinates from Geodetic coordinate system to Geocentric coordinate system .

Public methodToGeodetic

Transform the given coordinates from Geocentric coordinate system to Geodetic coordinate system .

Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

This class performs a cartographic projection using the PROJ.4 Cartographic Projections Library ( see http://proj.maptools.org/ )

To use this class as a projection, refer to the documentation of OIV.Inventor.Projection.SbProjection class.

By default, input points must be defined in the geodetic coordinate system :

  • x coordinate : longitudes degrees from -180 to 180

  • y coordinate : latitudes degrees from -90 to 90

  • z coordinate : meters

It is possible to define the input data in the geocentric coordinate system by calling setCoordinateSystem(GEOCENTRIC). The geocentric coordinate system is the earth coordinate system, where x, y and z coordinate are expressed in meters.

The PROJ.4 library parameters are stored as OIV.Inventor.Projection.SbProjection string parameters:

  • parameter 0 : projection name

  • parameter 1 : ellipsoid

  • parameter 2 : units

  • parameter 3 : longitude zero

The first OIV.Inventor.Projection.SbProjection float parameter is used to specify the z coordinate scaleRatio applied to the projected shapes.

The enumeration PredefinedEllipsoid defines the list of available ellipsoid. An ellispoid definition is a mathematical representation used to approximate the earth when computing projections. Calling OIV.Inventor.Projection.SbProj4Projection.SetEllipsoid(OIV.Inventor.Projection.SbProj4Projection.PredefinedEllipsoids) sets the current ellipsoid used to compute projections.

Only projections with an inverse function defined are available.

The available projections are defined with the Projection enumeration. When using an OIV.Inventor.Projection.SbProj4Projection object with an OIV.Inventor.Nodes.SoProjection node, those projections are automatically added in the order above, and you can choose the desired projection by using the corresponding id (refer to OIV.Inventor.Nodes.SoProjection node).

LIMITATIONS

It can happen that vertices of a projected shape cross other ones, depending on the chosen projection. Visually it results in a flipping effect.

OIV.Inventor.Projection.SbProjection, OIV.Inventor.Nodes.SoProjection, OIV.Inventor.Nodes.SoGeoProjection

See Also