http://www.sim.no
http://www.coin3d.org
Main Page
Related Pages
Modules
Classes
Files
File List
include
Inventor
VRMLnodes
SoVRMLElevationGrid.h
1
/**************************************************************************\
2
*
3
* This file is part of the Coin 3D visualization library.
4
* Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* ("GPL") version 2 as published by the Free Software Foundation.
9
* See the file LICENSE.GPL at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using Coin with software that can not be combined with the GNU
13
* GPL, and for taking advantage of the additional benefits of our
14
* support services, please contact Systems in Motion about acquiring
15
* a Coin Professional Edition License.
16
*
17
* See http://www.coin3d.org/ for more information.
18
*
19
* Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
20
* http://www.sim.no/ sales@sim.no coin-support@coin3d.org
21
*
22
\**************************************************************************/
23
24
#ifndef COIN_SOVRMLELEVATIONGRID_H
25
#define COIN_SOVRMLELEVATIONGRID_H
26
27
#include <Inventor/nodes/SoSubNode.h>
28
#include <Inventor/VRMLnodes/SoVRMLGeometry.h>
29
#include <Inventor/fields/SoSFBool.h>
30
#include <Inventor/fields/SoSFFloat.h>
31
#include <Inventor/fields/SoSFInt32.h>
32
#include <Inventor/fields/SoSFBool.h>
33
#include <Inventor/fields/SoSFFloat.h>
34
#include <Inventor/fields/SoMFFloat.h>
35
#include <Inventor/fields/SoSFNode.h>
36
37
class
SoChildList
;
38
39
class
SoVRMLElevationGridP;
40
41
class
COIN_DLL_API
SoVRMLElevationGrid
:
public
SoVRMLGeometry
42
{
43
typedef
SoVRMLGeometry
inherited
;
44
SO_NODE_HEADER(
SoVRMLElevationGrid
);
45
46
public
:
47
static
void
initClass
(
void
);
48
SoVRMLElevationGrid
(
void
);
49
50
SoSFBool
ccw
;
51
SoSFBool
solid
;
52
SoSFFloat
creaseAngle
;
53
SoSFInt32
zDimension
;
54
SoSFInt32
xDimension
;
55
SoSFFloat
zSpacing
;
56
SoSFFloat
xSpacing
;
57
SoMFFloat
height
;
58
SoSFNode
texCoord
;
59
SoSFNode
normal
;
60
SoSFNode
color
;
61
SoSFBool
colorPerVertex
;
62
SoSFBool
normalPerVertex
;
63
64
virtual
void
GLRender
(
SoGLRenderAction
* action);
65
virtual
void
rayPick
(
SoRayPickAction
* action);
66
virtual
void
getPrimitiveCount
(
SoGetPrimitiveCountAction
* action);
67
68
protected
:
69
virtual
~
SoVRMLElevationGrid
(
void
);
70
71
virtual
void
notify
(
SoNotList
* list);
72
virtual
void
generatePrimitives
(
SoAction
* action );
73
virtual
void
computeBBox
(
SoAction
* action,
SbBox3f
& bbox,
74
SbVec3f
& center);
75
76
private
:
77
friend
class
SoVRMLElevationGridP;
78
79
enum
Binding {
80
OVERALL,
81
PER_QUAD,
82
PER_VERTEX
83
};
84
85
Binding findMaterialBinding(
void
)
const
;
86
Binding findNormalBinding(
void
)
const
;
87
88
const
SbVec3f
* updateNormalCache(Binding & nbind);
89
90
SoVRMLElevationGridP * pimpl;
91
92
};
// class SoVRMLElevationGrid
93
94
#endif // ! COIN_SOVRMLELEVATIONGRID_H
Copyright © 1998-2007 by
Systems in Motion AS
. All rights reserved.
Generated on Wed Jul 18 2012 for Coin by
Doxygen.
1.8.1.1