MODULE; IMPORT ObAmbientLightGO, ObAnim3D, ObAnimHandle, ObBooleanProp, ObBoxGO, ObCB, ObCameraGO, ObColorProp, ObConeGO, ObCylinderGO, ObDiskGO, ObGO, ObGraphicsBase, ObGroupGO, ObKeyCB, ObLib3DBundle, ObLightGO, ObLineGO, ObLineTypeProp, ObMarkerGO, ObMarkerTypeProp, ObMatrix4, ObMouseCB, ObOrthoCameraGO, ObPerspCameraGO, ObPoint3, ObPointLightGO, ObPointProp, ObPolygonGO, ObPositionCB, ObProp, ObProtoLoader, ObProxiedObj, ObQuadMeshGO, ObRasterModeProp, ObRealProp, ObRootGO, ObShadingProp, ObSphereGO, ObSpotLightGO, ObSurfaceGO, ObTime, ObTorusGO, ObTransformProp, ObVectorLightGO, ObWin_OpenGL_Base, ObX_PEX_Base, ObX_OpenGL_Base, SynWr; VAR setupDone := FALSE; PROCEDURE ObLib3D PackageSetup () = BEGIN SetupPackages (); SetupModules (); END PackageSetup; PROCEDURESetupPackages () = BEGIN IF NOT setupDone THEN ObAnim3D.SetupPackage (); ObPoint3.SetupPackage (); ObMatrix4.SetupPackage (); ObTime.SetupPackage (); ObProxiedObj.SetupPackage (); ObAnimHandle.SetupPackage (); ObProp.SetupPackage (); ObBooleanProp.SetupPackage (); ObRealProp.SetupPackage (); ObPointProp.SetupPackage (); ObColorProp.SetupPackage (); ObTransformProp.SetupPackage (); ObLineTypeProp.SetupPackage (); ObMarkerTypeProp.SetupPackage (); ObRasterModeProp.SetupPackage (); ObShadingProp.SetupPackage (); ObGraphicsBase.SetupPackage (); ObX_PEX_Base.SetupPackage (); ObX_OpenGL_Base.SetupPackage (); ObWin_OpenGL_Base.SetupPackage (); ObCB.SetupPackage (); ObMouseCB.SetupPackage (); ObPositionCB.SetupPackage (); ObKeyCB.SetupPackage (); ObGO.SetupPackage (); ObGroupGO.SetupPackage (); ObRootGO.SetupPackage (); ObCameraGO.SetupPackage (); ObPerspCameraGO.SetupPackage (); ObOrthoCameraGO.SetupPackage (); ObLightGO.SetupPackage (); ObAmbientLightGO.SetupPackage (); ObVectorLightGO.SetupPackage (); ObPointLightGO.SetupPackage (); ObSpotLightGO.SetupPackage (); ObMarkerGO.SetupPackage (); ObLineGO.SetupPackage (); ObSurfaceGO.SetupPackage (); ObPolygonGO.SetupPackage (); ObBoxGO.SetupPackage (); ObSphereGO.SetupPackage (); ObConeGO.SetupPackage (); ObDiskGO.SetupPackage (); ObCylinderGO.SetupPackage (); ObTorusGO.SetupPackage (); ObQuadMeshGO.SetupPackage (); setupDone := TRUE; END; END SetupPackages; PROCEDURESetupModules () = VAR loader := NEW (ObProtoLoader.T).init (ObLib3DBundle.Get ()); BEGIN SynWr.PushSilence (SynWr.out); ObProxiedObj.SetupModule (loader); ObAnimHandle.SetupModule (loader); ObProp.SetupModule (loader); ObBooleanProp.SetupModule (loader); ObRealProp.SetupModule (loader); ObPointProp.SetupModule (loader); ObColorProp.SetupModule (loader); ObTransformProp.SetupModule (loader); ObLineTypeProp.SetupModule (loader); ObMarkerTypeProp.SetupModule (loader); ObRasterModeProp.SetupModule (loader); ObShadingProp.SetupModule (loader); ObGraphicsBase.SetupModule (loader); ObX_PEX_Base.SetupModule (loader); ObX_OpenGL_Base.SetupModule (loader); ObWin_OpenGL_Base.SetupModule (loader); ObMouseCB.SetupModule (loader); ObPositionCB.SetupModule (loader); ObKeyCB.SetupModule (loader); ObGO.SetupModule (loader); ObGroupGO.SetupModule (loader); ObRootGO.SetupModule (loader); ObCameraGO.SetupModule (loader); ObPerspCameraGO.SetupModule (loader); ObOrthoCameraGO.SetupModule (loader); ObLightGO.SetupModule (loader); ObAmbientLightGO.SetupModule (loader); ObVectorLightGO.SetupModule (loader); ObPointLightGO.SetupModule (loader); ObSpotLightGO.SetupModule (loader); ObMarkerGO.SetupModule (loader); ObLineGO.SetupModule (loader); ObSurfaceGO.SetupModule (loader); ObPolygonGO.SetupModule (loader); ObBoxGO.SetupModule (loader); ObSphereGO.SetupModule (loader); ObConeGO.SetupModule (loader); ObDiskGO.SetupModule (loader); ObCylinderGO.SetupModule (loader); ObTorusGO.SetupModule (loader); ObQuadMeshGO.SetupModule (loader); SynWr.PopSilence (SynWr.out); END SetupModules; BEGIN END ObLib3D.