Equalizer
1.6.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
install
share
Equalizer
examples
eVolve
sliceClipping.h
1
2
/* Copyright (c) 2007 Maxim Makhinya
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
*
7
* - Redistributions of source code must retain the above copyright notice, this
8
* list of conditions and the following disclaimer.
9
* - Redistributions in binary form must reproduce the above copyright notice,
10
* this list of conditions and the following disclaimer in the documentation
11
* and/or other materials provided with the distribution.
12
* - Neither the name of Eyescale Software GmbH nor the names of its
13
* contributors may be used to endorse or promote products derived from this
14
* software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
* POSSIBILITY OF SUCH DAMAGE.
27
*/
28
29
#include <eq/eq.h>
30
31
#ifndef EVOLVE_SLICECLIPPING_H
32
#define EVOLVE_SLICECLIPPING_H
33
34
namespace
eVolve
35
{
36
37
38
struct
SliceClipper
39
{
40
SliceClipper
(){};
41
42
static
const
int
nSequence[8][8];
43
static
const
float
sequence[64];
44
static
const
float
v1[24];
45
static
const
float
v2[24];
46
47
typedef
eq::Vector3f float3;
48
49
void
updatePerFrameInfo
50
(
51
const
eq::Matrix4d& modelviewM,
52
const
eq::Matrix3d& modelviewITM,
53
const
double
sliceDistance,
54
const
eq::Range& range
55
);
56
57
eq::Vector3f getPosition
58
(
59
const
int
vertexNum,
60
const
int
sliceNum
61
)
const
;
62
63
float
shaderVertices[24];
64
eq::Vector3f viewVecf;
65
eq::Vector4d viewVec;
66
int
frontIndex;
67
double
sliceDistance;
68
double
planeStart;
69
};
70
71
}
72
73
#endif // EVOLVE_SLICECLIPPING_H
eVolve::SliceClipper
Definition:
sliceClipping.h:38
Generated on Thu Dec 5 2013 14:22:29 for Equalizer by
1.8.5