/* Copyright (C) 1994, Digital Equipment Corporation                         */
/* Digital Internal Use Only                                                 */
/* All rights reserved.                                                      */
/*                                                                           */
/* Last modified on Thu Feb 16 20:06:33 PST 1995 by najork                   */
/*       Created on Thu Mar  3 19:12:25 PST 1994 by najork                   */

import (parseparams)
import (vbtkit)
import (PEX)

Module    (Mth)
Module    (AuxG)
Interface (BSphere)
Module    (Clock)
Module    (Anim3D)
Module    (AnimRequestQueue)
Interface (AnimRequestQueuePrivate)
Module    (AnimServer)
Interface (ProxiedObj)

/* Points, Matrices, Quaternions */

Module    (Point3)
Module    (Matrix4)
Module    (Quaternion)

/* Callback Objects */

Interface (CB)

Module    (MouseCB)
Interface (MouseCBProxy)

Module    (PositionCB)
Interface (PositionCBProxy)

Module    (KeyCB)
Interface (KeyCBProxy)

/* Callback Stacks */

generic_module (CBStack)

readonly proc CBStack (elt) is
  build_generic_intf (elt & "Stack", "CBStack", [elt], HIDDEN)
  build_generic_impl (elt & "Stack", "CBStack", [elt])
end

CBStack (MouseCB)
CBStack (PositionCB)
CBStack (KeyCB)

/*** Graphics bases ***/

Module (GraphicsBase)
interface (GraphicsBasePrivate)

Module    (X_PEX_Base)
Interface (X_PEX_BaseProxy)

/*** Property Related Stuff ***/

Module    (PropList)

/*** Animation Handle ***/

Module    (AnimHandle)
Interface (AnimHandlePrivate)
Interface (AnimHandleProxy)

/*** Property Names and Property Values ***/

Module    (Prop)
Interface (PropPrivate)
Interface (PropProxy)

Module    (BooleanProp)
Interface (BooleanPropPrivate)
Interface (BooleanPropProxy)

Module    (RealProp)
Interface (RealPropPrivate)
Interface (RealPropProxy)

Module    (PointProp)
Interface (PointPropPrivate)
Interface (PointPropProxy)

Module    (ColorProp)
Interface (ColorPropPrivate)
Interface (ColorPropProxy)

Module    (RasterModeProp)
Interface (RasterModePropPrivate)
Interface (RasterModePropProxy)

Module    (ShadingProp)
Interface (ShadingPropPrivate)
Interface (ShadingPropProxy)

Module    (LineTypeProp)
Interface (LineTypePropPrivate)
Interface (LineTypePropProxy)

Module    (MarkerTypeProp)
Interface (MarkerTypePropPrivate)
Interface (MarkerTypePropProxy)

Module    (TransformProp)
Interface (TransformPropPrivate)
Interface (TransformPropProxy)

/*** Geometric Objects ***/

Module    (GO)
Interface (GOPrivate)

Module    (GroupGO)
Interface (GroupGOPrivate)
Interface (GroupGOProxy)

Module    (RootGO)
Interface (RootGOPrivate)
Interface (RootGOProxy)

Module    (LineGO)
Interface (LineGOProxy)

Module    (MarkerGO)
Interface (MarkerGOProxy)

Module    (SurfaceGO)

Module    (PolygonGO)
Interface (PolygonGOProxy)

Module    (QuadMeshGO)
Interface (QuadMeshGOProxy)

Module    (BoxGO)
Interface (BoxGOProxy)

Module    (SphereGO)
Interface (SphereGOProxy)

Module    (DiskGO)
Interface (DiskGOProxy)

Module    (CylinderGO)
Interface (CylinderGOProxy)

Module    (ConeGO)
Interface (ConeGOProxy)

Module    (TorusGO)
Interface (TorusGOProxy)

Module    (LightGO)

Module    (AmbientLightGO)
Interface (AmbientLightGOProxy)

Module    (VectorLightGO)
Interface (VectorLightGOProxy)

Module    (PointLightGO)
Interface (PointLightGOProxy)

Module    (SpotLightGO)
Interface (SpotLightGOProxy)

Module    (CameraGO)
Interface (CameraGOPrivate)	

Module    (OrthoCameraGO)
Interface (OrthoCameraGOProxy)

Module    (PerspCameraGO)
Interface (PerspCameraGOProxy)

/*** wrapping things up ***/

Library (anim3D)
