Open Inventor Reference
SoComputeBoundingBox.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (C) 2000 Silicon Graphics, Inc. All Rights Reserved.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * Further, this software is distributed without any warranty that it is
16  * free of the rightful claim of any third person regarding infringement
17  * or the like. Any license provided herein, whether implied or
18  * otherwise, applies only to this software file. Patent licenses, if
19  * any, provided herein do not apply to combinations of this program with
20  * other software, or any other product whatsoever.
21  *
22  * You should have received a copy of the GNU Lesser General Public
23  * License along with this library; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25  *
26  * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
27  * Mountain View, CA 94043, or:
28  *
29  * http://www.sgi.com
30  *
31  * For further information regarding this notice, see:
32  *
33  * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
34  *
35  */
36 
37 
38 /*
39  * Copyright (C) 1990,91,92 Silicon Graphics, Inc.
40  *
41  _______________________________________________________________________
42  ______________ S I L I C O N G R A P H I C S I N C . ____________
43  |
44  | $Revision: 1.1.1.1 $
45  |
46  | Description:
47  | This file contains the implementation of the
48  | SoComputeBoundingBox engine
49  |
50  | Classes:
51  | SoComputeBoundingBox
52  |
53  | Author(s) : Paul S. Strauss
54  |
55  ______________ S I L I C O N G R A P H I C S I N C . ____________
56  _______________________________________________________________________
57  */
58 
59 #ifndef _SO_COMPUTE_BOUNDING_BOX_
60 #define _SO_COMPUTE_BOUNDING_BOX_
61 
68 
70 
71 
74 
106 
108 
110 
111  public:
115 
121 
124 
128 
129  SoINTERNAL public:
130  static void initClass();
131 
132  protected:
135  virtual void inputChanged(SoField *whichInput);
136 
137  private:
140 
142  bool gotNode;
143  bool gotPath;
144 
146  virtual ~SoComputeBoundingBox();
147 
149  virtual void evaluate();
150 };
151 
152 #endif /* _SO_COMPUTE_BOUNDING_BOX_ */
#define SoINTERNAL
Definition: SbBasic.h:155
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
Definition: SbSystem.h:81
#define SO_ENGINE_HEADER(className)
Definition: SoSubEngine.h:166
Class for representing a viewport.
Computes the bounding box and center of a scene graph.
SoEngineOutput min
Outputs:
virtual void inputChanged(SoField *whichInput)
Indicates that an input has changed - we use this to determine whether to use the node or path,...
SoComputeBoundingBox()
Constructor.
static void initClass()
const SbViewportRegion & getViewportRegion() const
void setViewportRegion(const SbViewportRegion &vpReg)
Sets the viewport region to use for the bounding box computation.
SoEngineOutput objectCenter
(SoSFVec3f) Center of object(s)
SoSFPath path
Pointer to path defining graph.
SoEngineOutput max
(SoSFVec3f) Maximum point of bbox
SoEngineOutput boxCenter
(SoSFVec3f) Center point of bbox
Class for all engine outputs.
Definition: SoEngine.h:228
Base class for all engines.
Definition: SoEngine.h:102
virtual void evaluate()=0
User-written evaluation engine.
Base class for all fields.
Definition: SoField.h:185
Computes bounding box of a scene.
Field containing a pointer to a node.
Definition: SoSFNode.h:92
Field containing a pointer to an SoPath.
Definition: SoSFPath.h:82