ModelPatchNode.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include <boost/array.hpp>
  2. #include "ModelPatchNode.h"
  3. #include "Resources/Material.h"
  4. #include "Resources/MeshData.h"
  5. #include "Resources/ModelPatch.h"
  6. #include "ModelNode.h"
  7. #include "ModelNode.h"
  8. //==============================================================================
  9. // Constructor =
  10. //==============================================================================
  11. ModelPatchNode::ModelPatchNode(const ModelPatch& modelPatch_,
  12. ModelNode* parent)
  13. : PatchNode(modelPatch_, parent),
  14. modelPatch(modelPatch_)
  15. {
  16. boost::array<const Vbo*, Mesh::VBOS_NUM> vboArr;
  17. for(uint i = 0; i < Mesh::VBOS_NUM; i++)
  18. {
  19. vboArr[i] = &rsrc.getMesh().getVbo((Mesh::Vbos)i);
  20. }
  21. createVao(rsrc.getCpMtl(), vboArr, cpVao);
  22. createVao(rsrc.getDpMtl(), vboArr, dpVao);
  23. }
  24. //==============================================================================
  25. // moveUpdate =
  26. //==============================================================================
  27. void ModelPatchNode::moveUpdate()
  28. {
  29. visibilityShapeWSpace =
  30. modelPatch.getMesh().getVisibilityShape().getTransformed(
  31. getWorldTransform());
  32. }