BVB Source Codes

CRYENGINE Show ClipVolume.h Source code

Return Download CRYENGINE: download ClipVolume.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #ifndef __INCLUDE_CRY3DENGINE_CLIPVOLUME_H
  4. #define __INCLUDE_CRY3DENGINE_CLIPVOLUME_H
  5.  
  6. struct IBSPTree3D;
  7.  
  8. class CClipVolume : public IClipVolume
  9. {
  10. public:
  11.         CClipVolume();
  12.         virtual ~CClipVolume();
  13.  
  14.         ////////////// IClipVolume implementation //////////////
  15.         virtual void  GetClipVolumeMesh(_smart_ptr<IRenderMesh>& renderMesh, Matrix34& worldTM) const;
  16.         virtual AABB  GetClipVolumeBBox() const;
  17.  
  18.         virtual uint8 GetStencilRef() const      { return m_nStencilRef; }
  19.         virtual uint  GetClipVolumeFlags() const { return m_nFlags; }
  20.         virtual bool  IsPointInsideClipVolume(const Vec3& vPos) const;
  21.         ////////////////////////////
  22.  
  23.         void SetName(const char* szName);
  24.         void SetStencilRef(int nStencilRef) { m_nStencilRef = nStencilRef; }
  25.  
  26.         void Update(_smart_ptr<IRenderMesh> pRenderMesh, IBSPTree3D* pBspTree, const Matrix34& worldTM, uint32 flags);
  27.  
  28.         void RegisterRenderNode(IRenderNode* pRenderNode);
  29.         void UnregisterRenderNode(IRenderNode* pRenderNode);
  30.  
  31.         void GetMemoryUsage(class ICrySizer* pSizer) const;
  32.  
  33. private:
  34.         uint8                   m_nStencilRef;
  35.         uint32                  m_nFlags;
  36.         Matrix34                m_WorldTM;
  37.         Matrix34                m_InverseWorldTM;
  38.         AABB                    m_BBoxWS;
  39.         AABB                    m_BBoxLS;
  40.  
  41.         _smart_ptr<IRenderMesh> m_pRenderMesh;
  42.         IBSPTree3D*             m_pBspTree;
  43.  
  44.         PodArray<IRenderNode*>  m_lstRenderNodes;
  45.         char                    m_sName[64];
  46.         CryCriticalSection      m_lstRenderNodesCritSection;
  47. };
  48.  
  49. #endif //__INCLUDE_CRY3DENGINE_CLIPVOLUME_H
  50.  
downloadClipVolume.h Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top