VR-Forces 4.5 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrvOsg
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
>
12
#include <
vrvOsg/DtInstanceProcessor.h
>
13
#include <
vrvOsg/DtInstanceState.h
>
14
15
#include <tbb/cache_aligned_allocator.h>
16
17
namespace
makVrv
18
{
19
class
DtInstanceManager;
20
23
class
DT_DLL_VRVOSG
DtInstanceDofProcessor
:
public
DtInstanceProcessor
24
{
25
public
:
27
DtInstanceDofProcessor
(
DtInstanceManager
& instanceMgr);
28
30
virtual
~
DtInstanceDofProcessor
();
31
33
virtual
void
processRange(
unsigned
int
instanceStride,
unsigned
int
instanceOffset,
unsigned
int
instanceCount);
34
35
protected
:
36
38
struct
DofUpdateStorage
39
{
40
osg::Quat
quat
;
41
osg::Quat
quatTemp
;
42
InstanceMatrix
mat
;
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
:
62
DtInstanceManager
&
myInstanceManager
;
63
};
64
}
Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (
www.mak.com
)