VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtInstanceDofProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvOsg/vrvOsg.h>
13 #include <vrvOsg/DtInstanceState.h>
14 
15 #include <tbb/cache_aligned_allocator.h>
16 
17 namespace makVrv
18 {
19  class DtInstanceManager;
20 
24  {
25  public:
28 
30  virtual ~DtInstanceDofProcessor();
31 
33  virtual void processRange(unsigned int instanceStride, unsigned int instanceOffset, unsigned int instanceCount);
34 
35  protected:
36 
39  {
40  InstanceMatrixVal matTmp[16];
41  osg::Quat quat;
42  osg::Quat quatTemp;
44  std::vector<InstanceMatrix,
45  tbb::cache_aligned_allocator<InstanceMatrix> > matStack;
46  std::vector<unsigned int,
47  tbb::cache_aligned_allocator<unsigned int> > childCountStack;
48  };
49 
51  void updateDofRange(unsigned int instanceStride, unsigned int instanceOffset, unsigned int instanceCount);
52 
54  bool isRangeVisible(unsigned int offset, unsigned int count);
55 
59  void updateDofs(DofUpdateStorage& localStorage, InstanceMatrix& baseSpatial,
60  unsigned int templateIx, const ArrayRange& dofRange, unsigned int drawableOffset);
61 
62  protected:
64  };
65 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)