VR-Forces 4.3.1 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/DtInstanceManager.h
>
13
#include <
vrvOsg/DtInstanceProcessor.h
>
14
15
#include <tbb/cache_aligned_allocator.h>
16
17
namespace
makVrv
18
{
21
class
DT_DLL_VRVOSG
DtInstanceDofProcessor
:
public
DtInstanceProcessor
22
{
23
public
:
25
DtInstanceDofProcessor
(
DtInstanceManager
& instanceMgr);
26
28
virtual
~
DtInstanceDofProcessor
();
29
31
virtual
void
processRange(
unsigned
int
instanceStride,
unsigned
int
instanceOffset,
unsigned
int
instanceCount);
32
33
protected
:
34
36
struct
DofUpdateStorage
37
{
38
InstanceMatrixVal
matTmp[16];
39
osg::Quat
quat
;
40
osg::Quat
quatTemp
;
41
InstanceMatrix
mat
;
42
std::vector<
InstanceMatrix
,
43
tbb::cache_aligned_allocator<InstanceMatrix> >
matStack
;
44
std::vector<
unsigned
int
,
45
tbb::cache_aligned_allocator<unsigned int> >
childCountStack
;
46
};
47
49
void
updateDofRange(
unsigned
int
instanceStride,
unsigned
int
instanceOffset,
unsigned
int
instanceCount);
50
52
bool
isRangeVisible(
unsigned
int
offset,
unsigned
int
count);
53
57
void
updateDofs(
DofUpdateStorage
& localStorage,
InstanceMatrix
& baseSpatial,
58
unsigned
int
templateIx,
const
ArrayRange
& dofRange,
unsigned
int
drawableOffset);
59
60
protected
:
61
DtInstanceManager
&
myInstanceManager
;
62
};
63
}
Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)