#include "libo3d"
o3d::Display disp(nil, nil);
// Declare "hidden" HW externs just to get coverage
namespace o3d {
extern
_objName, _intCylGen, _objAddRef,
_objParent, _intMakeBox, _intReadPNG,
_intReadPPM, _objDestroy, _objInquire,
_intMakeCone, _intMakeRing, _intPlaneGen,
_intSetError, _dispGuiText, _dispScissor,
_objPropList, _intMakeTorus, _intSphereGen,
_dispCallList, _dispDrawMesh, _dispGuiLines,
_dispOpenList, _dispViewport, _intMakeSphere,
_intOrientData, _intSmoothMesh, _dispCloseList,
_dispDrawQuads, _dispDrawStrip, _dispGuiRaster,
_dispSurfAttrs, _intCreateImage, _intMakeSurfRev,
_intMakeTerrain, _intModifyAlpha, _intTextureData,
_dispBoundsSize, _dispGuiPolygon, _intArrayToImage,
_intDestroyImage, _intMakeThinRing, _dispCallGuiList,
_dispDestroyList, _dispDrawMarkers, _dispDrawPolygon,
_dispGetMousePos, _dispGuiPolyline, _dispOpenGuiList,
_dispCloseGuiList, _dispDrawPolyline, _dispGuiRectangle,
_dispBoundsVisible, _dispCreateTexture, _dispGetVisibility,
_dispSetVisibility, _dispCurrentTexture, _dispDestroyGuiList,
_dispDestroyTexture, _dispPositionalLight, _dispSetInvisibility,
_dispDrawIndexedTriangles;
}
proc main()
{
var procs = {
o3d::_objName, o3d::_intCylGen, o3d::_objAddRef,
o3d::_objParent, o3d::_intMakeBox, o3d::_intReadPNG,
o3d::_intReadPPM, o3d::_objDestroy, o3d::_objInquire,
o3d::_intMakeCone, o3d::_intMakeRing, o3d::_intPlaneGen,
o3d::_intSetError, o3d::_dispGuiText, o3d::_dispScissor,
o3d::_objPropList, o3d::_intMakeTorus, o3d::_intSphereGen,
o3d::_dispCallList, o3d::_dispDrawMesh, o3d::_dispGuiLines,
o3d::_dispOpenList, o3d::_dispViewport, o3d::_intMakeSphere,
o3d::_intOrientData, o3d::_intSmoothMesh, o3d::_dispCloseList,
o3d::_dispDrawQuads, o3d::_dispDrawStrip, o3d::_dispGuiRaster,
o3d::_dispSurfAttrs, o3d::_intCreateImage, o3d::_intMakeSurfRev,
o3d::_intMakeTerrain, o3d::_intModifyAlpha, o3d::_intTextureData,
o3d::_dispBoundsSize, o3d::_dispGuiPolygon, o3d::_intArrayToImage,
o3d::_intDestroyImage, o3d::_intMakeThinRing, o3d::_dispCallGuiList,
o3d::_dispDestroyList, o3d::_dispDrawMarkers, o3d::_dispDrawPolygon,
o3d::_dispGetMousePos, o3d::_dispGuiPolyline, o3d::_dispOpenGuiList,
o3d::_dispCloseGuiList, o3d::_dispDrawPolyline, o3d::_dispGuiRectangle,
o3d::_dispBoundsVisible, o3d::_dispCreateTexture, o3d::_dispGetVisibility,
o3d::_dispSetVisibility, o3d::_dispCurrentTexture,
o3d::_dispDestroyGuiList, o3d::_dispDestroyTexture,
o3d::_dispPositionalLight, o3d::_dispSetInvisibility,
o3d::_dispDrawIndexedTriangles,
o3d::Identity, o3d::Scale, o3d::RotateX,
o3d::RotateY, o3d::RotateZ, o3d::RotateAxis,
o3d::MatMult, o3d::MakeMatrix, o3d::Transform,
o3d::Transform4d, o3d::TransformPersp, o3d::TransformData,
o3d::InvertMat, o3d::GetError, o3d::CalcWPV,
o3d::FindClass, o3d::FindObject, o3d::ParseFile,
o3d::ParseArray, o3d::WriteAscii
};
disp.chooseVisual(o3d::VIS_DBUFF, 0);
var draw = disp.createWindow("test", 100, 100, 256, 256, 0);
disp.makeCurrent(draw);
forall (procs[i]) {
try {
// These should all throw errors...
procs[i]();
}
catch (e) {
}
}
var mat = new PackFloat(16);
o3d::MakeMatrix({1.,1.,1.,0.,0.,0.,0.,0.,0.}, mat);
}