29#ifndef __FREEWRL_SCENEGRAPH_GEOSPATIAL_H__
30#define __FREEWRL_SCENEGRAPH_GEOSPATIAL_H__
34int checkX3DGeoElevationGridFields (
struct X3D_GeoElevationGrid *node,
float **points,
int *npoints);
39#define GEOSYS( geosystem ) ((Geosys *)geosystem)
44void user2gc(Geosys * geoSystem,
struct SFVec3d *geo,
int n,
struct SFVec3d *gc);
45void gc2user(Geosys * geoSystem,
struct SFVec3d *gc,
int n,
struct SFVec3d *geo);
46void gc2lcs(Geosys * geoSystem,
struct SFVec3d *gc,
int n,
struct SFVec3d *lcs);
47void lcs2gc(Geosys * geoSystem,
struct SFVec3d *lcs,
int n,
struct SFVec3d *gc);
48void gd2gc(Geosys * geoSystem,
struct SFVec3d *gd,
int n,
struct SFVec3d *gc);
49void gc2gd(Geosys * geoSystem,
struct SFVec3d *gc,
int n,
struct SFVec3d *gd);
50void gc2tcs(Geosys * geoSystem,
struct SFVec3d *gdcenter,
struct SFVec3d *gc,
int n,
struct SFVec3d *tcs);
51void tcs2gc(Geosys * geoSystem,
struct SFVec3d *gdcenter,
struct SFVec3d *tcs,
int n,
struct SFVec3d *gc);
52void lcs2gc_transform(
struct SFVec4d *rotation,
struct SFVec3d *translation);
53void gc2lcs_transform(
struct SFVec3d *translate,
struct SFVec4d *rotate);
54void gc2tcs_transform(Geosys * geoSystem,
struct SFVec3d *gdcenter,
struct SFVec3d *translate,
struct SFVec4d *rotate);
55void tcs2gc_transform(Geosys * geoSystem,
struct SFVec3d *gdcenter,
struct SFVec4d *rotate,
struct SFVec3d *translate);
56void geoprep(Geosys *geoSystem,
struct SFVec3d *userCoord);
57void geofin(Geosys *geoSystem,
struct SFVec3d *userCoord);
58void geoprepT(Geosys *geoSystem,
struct SFVec3d *userCoord);
59void geofinT(Geosys *geoSystem,
struct SFVec3d *userCoord);
60void tcs2gcB_transform(Geosys *geoSystem,
struct SFVec3d *gcCoord,
struct SFVec3d* translate,
struct SFVec4d *rotate);
61void gc2tcsB_transform(Geosys *geoSystem,
struct SFVec3d *gcCoord,
struct SFVec3d* translate,
struct SFVec4d *rotate);
62void tcs2gcB(Geosys * geoSystem,
struct SFVec3d *gccenter,
struct SFVec3d *tcs,
int n,
struct SFVec3d *gc);
63void gc2tcsB(Geosys * geoSystem,
struct SFVec3d *gccenter,
struct SFVec3d *gc,
int n,
struct SFVec3d *tcs);