http://www.coin3d.org/
http://www.kongsberg.com/kogt/
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
include
Inventor
VRMLnodes
SoVRMLIndexedFaceSet.h
1
/**************************************************************************\
2
* Copyright (c) Kongsberg Oil & Gas Technologies AS
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are
7
* met:
8
*
9
* Redistributions of source code must retain the above copyright notice,
10
* this list of conditions and the following disclaimer.
11
*
12
* Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* Neither the name of the copyright holder nor the names of its
17
* contributors may be used to endorse or promote products derived from
18
* this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
\**************************************************************************/
32
33
#ifndef COIN_SOVRMLINDEXEDFACESET_H
34
#define COIN_SOVRMLINDEXEDFACESET_H
35
36
#include <Inventor/nodes/SoSubNode.h>
37
#include <Inventor/VRMLnodes/SoVRMLIndexedShape.h>
38
#include <Inventor/fields/SoSFBool.h>
39
#include <Inventor/fields/SoSFFloat.h>
40
41
#ifndef SO_END_FACE_INDEX // also defined in SoIndexedFaceSet.h
42
#define SO_END_FACE_INDEX (-1)
43
#endif // !SO_END_FACE_INDEX
44
45
class
SoVRMLIndexedFaceSetP;
46
47
class
COIN_DLL_API
SoVRMLIndexedFaceSet
:
public
SoVRMLIndexedShape
48
{
49
typedef
SoVRMLIndexedShape
inherited
;
50
SO_NODE_HEADER
(
SoVRMLIndexedFaceSet
);
51
52
public
:
53
static
void
initClass
(
void
);
54
SoVRMLIndexedFaceSet
(
void
);
55
56
SoSFBool
ccw
;
57
SoSFBool
solid
;
58
SoSFBool
convex
;
59
SoSFFloat
creaseAngle
;
60
61
virtual
void
GLRender
(
SoGLRenderAction
* action );
62
virtual
void
getPrimitiveCount
(
SoGetPrimitiveCountAction
* action );
63
64
virtual
SbBool
generateDefaultNormals
(
SoState
* s,
SoNormalBundle
* nb );
65
virtual
SbBool
generateDefaultNormals
(
SoState
* state,
SoNormalCache
* nc);
66
67
protected
:
68
virtual
~
SoVRMLIndexedFaceSet
();
69
70
virtual
void
generatePrimitives
(
SoAction
* action );
71
72
73
private
:
74
75
enum
Binding {
76
OVERALL,
77
NONE = OVERALL,
78
PER_FACE,
79
PER_FACE_INDEXED,
80
PER_VERTEX,
81
PER_VERTEX_INDEXED
82
};
83
84
Binding findMaterialBinding(
SoState
* state)
const
;
85
Binding findNormalBinding(
SoState
* state)
const
;
86
87
virtual
void
notify
(
SoNotList
* list);
88
89
SbBool useConvexCache(
SoAction
* action,
90
const
SbVec3f
* normals,
91
const
int32_t * nindices,
92
const
SbBool normalsfromcache);
93
94
SoVRMLIndexedFaceSetP * pimpl;
95
};
96
97
#endif // ! COIN_SOVRMLINDEXEDFACESET_H
Copyright © by
Kongsberg Oil & Gas Technologies
. All rights reserved.
Generated on Sat Oct 12 2013 06:27:50 for Coin by
Doxygen
1.8.1.2.