Open Inventor
Release 2023.2.3
Loading...
Searching...
No Matches
SoShapeKit.h
Go to the documentation of this file.
1
/*=======================================================================
2
* Copyright 1991-1996, Silicon Graphics, Inc.
3
* ALL RIGHTS RESERVED
4
*
5
* UNPUBLISHED -- Rights reserved under the copyright laws of the United
6
* States. Use of a copyright notice is precautionary only and does not
7
* imply publication or disclosure.
8
*
9
* U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10
* Use, duplication or disclosure by the Government is subject to restrictions
11
* as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12
* in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13
* in similar or successor clauses in the FAR, or the DOD or NASA FAR
14
* Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15
* 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16
*
17
* THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18
* INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19
* DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20
* PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21
* GRAPHICS, INC.
22
**=======================================================================*/
23
/*=======================================================================
24
** Author : Paul Isaacs (MMM yyyy)
25
**=======================================================================*/
26
/*=======================================================================
27
*** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
28
*** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
29
*** ***
30
*** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
31
*** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
32
*** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
33
*** ***
34
*** RESTRICTED RIGHTS LEGEND ***
35
*** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
36
*** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
37
*** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
38
*** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
39
*** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
40
*** ***
41
*** COPYRIGHT (C) 1996-2019 BY FEI S.A.S, ***
42
*** BORDEAUX, FRANCE ***
43
*** ALL RIGHTS RESERVED ***
44
**=======================================================================*/
45
/*=======================================================================
46
** Modified by : VSG (MMM YYYY)
47
**=======================================================================*/
48
49
50
#ifndef _SO_SHAPE_KIT_
51
#define _SO_SHAPE_KIT_
52
53
#include <
Inventor/nodekits/SoSeparatorKit.h
>
54
56
// Class: SoShapeKit
57
//
58
// NOTE TO DEVELOPERS:
59
// For info about the structure of SoShapeKit:
60
// [1] compile: /usr/share/src/Inventor/samples/ivNodeKitStructure
61
// [2] type: ivNodeKitStructure SoShapeKit.
62
// [3] The program prints a diagram of the scene graph and a table with
63
// information about each part.
64
//
65
// New nodes in this subclass are:
66
// materialBinding, normalBinding,
67
// and textureCoordinateBinding
68
//
69
// A parent node that manages a collection of child nodes
70
// into a unit with the following structure:
71
//
72
// this
73
// ----------------|
74
// | "topSeparator"
75
// "callbackList" |
76
// ---------------------------------------------------------------
77
// | | | | | | | |
78
// "pickStyle" | "transform" | | | | |
79
// "appearance" "texture2Transform" | | | |
80
// | | "localTransform" |
81
// | | |
82
// | | "shapeSeparator"
83
// | | |
84
// | | "shape"
85
// | "childList"
86
// ---------------------------------
87
// |
88
// "materialBinding" "normalBinding"
89
// "textureCoordinateBinding" "shapeHints"
90
// "coordinate3" "coordinate4" "normal"
91
// "textureCoordinate2" "textureCoordinateFunction"
92
// "profileCoordinate2" "profileCoordinate3"
93
// "profileList"
94
//
95
97
290
class
SoShapeKit
:
public
SoSeparatorKit
{
291
292
SO_KIT_HEADER
(
SoShapeKit
);
293
294
// defines fields for the new parts in the catalog
295
// Binding nodes
296
SO_KIT_CATALOG_ENTRY_HEADER
(materialBinding);
297
SO_KIT_CATALOG_ENTRY_HEADER
(normalBinding);
298
SO_KIT_CATALOG_ENTRY_HEADER
(textureCoordinateBinding);
299
300
// Shapehints
301
SO_KIT_CATALOG_ENTRY_HEADER
(shapeHints);
302
303
// Coordinate and normal nodes
304
SO_KIT_CATALOG_ENTRY_HEADER
(coordinate3);
305
SO_KIT_CATALOG_ENTRY_HEADER
(coordinate4);
306
SO_KIT_CATALOG_ENTRY_HEADER
(normal);
307
SO_KIT_CATALOG_ENTRY_HEADER
(textureCoordinate2);
308
SO_KIT_CATALOG_ENTRY_HEADER
(textureCoordinateFunction);
309
310
// Profile Stuff (for text and for nurbs)
311
SO_KIT_CATALOG_ENTRY_HEADER
(profileCoordinate2);
312
SO_KIT_CATALOG_ENTRY_HEADER
(profileCoordinate3);
313
SO_KIT_CATALOG_ENTRY_HEADER
(profileList);
314
315
// Shape
316
SO_KIT_CATALOG_ENTRY_HEADER
(localTransform);
317
SO_KIT_CATALOG_ENTRY_HEADER
(shapeSeparator);
318
SO_KIT_CATALOG_ENTRY_HEADER
(shape);
319
320
public
:
324
SoShapeKit
();
325
326
private
:
327
static
void
initClass();
328
static
void
exitClass();
329
330
private
:
331
332
// Copies the contents of the given nodekit into this instance
333
virtual
void
copyContents(
const
SoFieldContainer
*fromFC,
334
SbBool
copyConnections);
335
336
// Called by the SoBaseKit::write() method. Calls setDefault(TRUE)
337
// on the shapeSeparator. Note that this may be overriden later by basekit
338
// if, for example, topSeparator lies on a path that is being written out.
339
virtual
void
setDefaultOnNonWritingFields();
340
341
virtual
~SoShapeKit
();
342
};
343
#endif
/* _SO_SHAPE_KIT_ */
344
SoSeparatorKit.h
SO_KIT_CATALOG_ENTRY_HEADER
#define SO_KIT_CATALOG_ENTRY_HEADER(partName)
Definition
SoSubKit.h:107
SO_KIT_HEADER
#define SO_KIT_HEADER(className)
Definition
SoSubKit.h:91
SoFieldContainer
Abstract base class for objects that contain fields.
Definition
SoFieldContainer.h:94
SoSeparatorKit
Separator nodekit class.
Definition
SoSeparatorKit.h:217
SoShapeKit
Shape nodekit class.
Definition
SoShapeKit.h:290
SoShapeKit::SoShapeKit
SoShapeKit()
Constructor.
SbBool
int SbBool
Boolean type.
Definition
SbBase.h:87
Inventor
nodekits
SoShapeKit.h
Generated by
1.9.8