BVB Source Codes

CRYENGINE Show DeformableNode.h Source code

Return Download CRYENGINE: download DeformableNode.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #ifndef _DEFORMABLE_NODE_
  4. #define _DEFORMABLE_NODE_
  5.  
  6. struct SDeformableData;
  7. struct SMMRMProjectile;
  8.  
  9. class CDeformableNode
  10. {
  11.         SDeformableData**         m_pData;
  12.         size_t                    m_nData;
  13.         uint32                    m_nFrameId;
  14.         Vec3*                     m_wind;
  15.         primitives::sphere*       m_Colliders;
  16.         int                       m_nColliders;
  17.         SMMRMProjectile*          m_Projectiles;
  18.         int                       m_nProjectiles;
  19.         AABB                      m_bbox;
  20.         IGeneralMemoryHeap*       m_pHeap;
  21.         std::vector<CRenderChunk> m_renderChunks;
  22.         _smart_ptr<IRenderMesh>   m_renderMesh;
  23.         size_t                    m_numVertices, m_numIndices;
  24.         CStatObj*                 m_pStatObj;
  25.         JobManager::SJobState     m_cullState;
  26.         JobManager::SJobState     m_updateState;
  27. #ifdef SEG_WORLD
  28.         uint16                    m_nStaticTypeSlot;
  29. #endif
  30.         bool                      m_all_prepared : 1;
  31.  
  32. protected:
  33.  
  34.         void UpdateInternalDeform(SDeformableData* pData
  35.                                   , CRenderObject* pRenderObject, const AABB& bbox
  36.                                   , const SRenderingPassInfo& passInfo
  37.                                   , _smart_ptr<IRenderMesh>&
  38.                                   , strided_pointer<SVF_P3S_C4B_T2S>
  39.                                   , strided_pointer<SPipTangents>
  40.                                   , vtx_idx* idxBuf
  41.                                   , size_t& iv
  42.                                   , size_t& ii);
  43.  
  44.         void ClearInstanceData();
  45.  
  46.         void ClearSimulationData();
  47.  
  48.         void CreateInstanceData(SDeformableData* pData, CStatObj* pStatObj);
  49.  
  50.         void BakeInternal(SDeformableData* pData, const Matrix34& worldTM);
  51.  
  52. public:
  53.  
  54.         CDeformableNode(uint16 slot);
  55.  
  56.         ~CDeformableNode();
  57.  
  58.         void SetStatObj(CStatObj* pStatObj);
  59.  
  60.         void CreateDeformableSubObject(bool create, const Matrix34& worldTM, IGeneralMemoryHeap* pHeap);
  61.  
  62.         void RenderInternalDeform(CRenderObject* pRenderObject
  63.                                   , int nLod, const AABB& bbox, const SRenderingPassInfo& passInfo
  64.                                   );
  65.  
  66.         void BakeDeform(const Matrix34& worldTM);
  67.  
  68.         bool HasDeformableData() const { return m_nData != 0; }
  69. };
  70.  
  71. #endif
  72.  
downloadDeformableNode.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