VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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  osg::Quat quat;
41  osg::Quat quatTemp;
43  std::vector<InstanceMatrix,
44  tbb::cache_aligned_allocator<InstanceMatrix> > matStack;
45  std::vector<unsigned int,
46  tbb::cache_aligned_allocator<unsigned int> > childCountStack;
47  };
48 
50  void updateDofRange(unsigned int instanceStride, unsigned int instanceOffset, unsigned int instanceCount);
51 
53  bool isRangeVisible(unsigned int offset, unsigned int count);
54 
58  void updateDofs(DofUpdateStorage& localStorage, InstanceMatrix& baseSpatial,
59  unsigned int templateIx, const ArrayRange& dofRange, unsigned int drawableOffset);
60 
61  protected:
63  };
64 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)