MODULE W3dAbstractWorld;
IMPORT
Vectors := W3dVectors, Raster;
TYPE
Vertex* = OBJECT
PROCEDURE SetPos*(p : Vectors.TVector3d);
END SetPos;
PROCEDURE SetUV*(u, v : LONGREAL);
END SetUV;
END Vertex;
Texture* = OBJECT
END Texture;
Object* = OBJECT
PROCEDURE SetIndex*(idx : LONGINT);
END SetIndex;
PROCEDURE AddTexture*(img : Raster.Image) : Texture;
END AddTexture;
PROCEDURE AddVertex*(p : Vectors.TVector3d) : Vertex;
END AddVertex;
PROCEDURE AddTriangle*(a, b, c : Vertex; color : LONGINT; tex : Texture; mask0, culled: BOOLEAN);
END AddTriangle;
PROCEDURE Clear*;
END Clear;
END Object;
World* = OBJECT
PROCEDURE CreateObject*() : Object;
END CreateObject;
PROCEDURE AddObject*(x : Object);
END AddObject;
PROCEDURE ReplaceObject*(x, y: Object);
END ReplaceObject;
PROCEDURE SetAnimated*(obj : Object; animated: BOOLEAN);
END SetAnimated;
PROCEDURE Clear*;
END Clear;
PROCEDURE SetCamera*(p, d, u : Vectors.TVector3d);
END SetCamera;
PROCEDURE Render*(img : Raster.Image; movingOnly : BOOLEAN);
END Render;
PROCEDURE GetOwnerIndex*(x, y : LONGINT): LONGINT;
END GetOwnerIndex;
END World;
END W3dAbstractWorld.