Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_IENGINE_PORTALCONTAINER_H__
00021 #define __CS_IENGINE_PORTALCONTAINER_H__
00022
00027 #include "csutil/scf.h"
00028
00033 struct iPortal;
00034 struct iRenderView;
00035
00036 class csVector2;
00037
00051 struct iPortalContainer : public virtual iBase
00052 {
00053 SCF_INTERFACE(iPortalContainer, 3,0,0);
00055 virtual int GetPortalCount () const = 0;
00056
00058 virtual iPortal* GetPortal (int idx) const = 0;
00059
00061 virtual iPortal* CreatePortal (csVector3* vertices, int num) = 0;
00062
00064 virtual void RemovePortal (iPortal* portal) = 0;
00065
00067 virtual void Draw (iRenderView* rview) = 0;
00068
00088 virtual void ComputeScreenPolygons (iRenderView* rview,
00089 csVector2* verts2D, csVector3* verts3D, size_t vertsSize,
00090 size_t* numVerts, int viewWidth, int viewHeight) = 0;
00091
00095 virtual size_t GetTotalVertexCount () const = 0;
00096 };
00097
00100 #endif // __CS_IENGINE_PORTALCONTAINER_H__
00101