H3D API  2.4.1
H3DBoundedObject.h
Go to the documentation of this file.
1 // Copyright 2004-2019, SenseGraphics AB
3 //
4 // This file is part of H3D API.
5 //
6 // H3D API is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2 of the License, or
9 // (at your option) any later version.
10 //
11 // H3D API is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with H3D API; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // A commercial license is also available. Please contact us at
21 // www.sensegraphics.com for more information.
22 //
23 //
27 //
29 #ifndef __H3DBOUNDEDOBJECT_H__
30 #define __H3DBOUNDEDOBJECT_H__
31 
32 #include <H3D/H3DApi.h>
33 #include <H3D/FieldTemplates.h>
34 #include <H3D/Bound.h>
35 #include <H3D/RefCountSField.h>
36 #include <H3D/Instantiate.h>
37 
38 namespace H3D {
42  class H3DAPI_API H3DBoundedObject {
43  public:
45  class H3DAPI_API SFBound: public RefCountSField< Bound > {
46  };
47 
49  H3DBoundedObject( Inst< SFBound > _bound = 0 ):
50  bound( _bound ){
51  bound->setValue( new InfiniteBound() );
52  bound->setName( "bound" );
53  }
54 
59  H3DUniquePtr< SFBound > bound;
60  };
61 }
62 
63 #endif
Header file for Bound and some of its subclasses.
Contains different templates to modify field behaviour.
Base header file that handles all configuration related settings.
Contains the Inst struct.
Contains the RefCountSField class.
The Bound object is reference counted by the field.
Definition: H3DBoundedObject.h:45
This abstract interface is the base class for all node types that include a bounding box.
Definition: H3DBoundedObject.h:42
H3DUniquePtr< SFBound > bound
The field containing the bound object.
Definition: H3DBoundedObject.h:59
H3DBoundedObject(Inst< SFBound > _bound=0)
Constructor.
Definition: H3DBoundedObject.h:49
An InfiniteBound is a Bound that encompasses everything.
Definition: Bound.h:82
RefCountSField is almost like any SField but it encapsulates a pointer to a RefCountedClass.
Definition: RefCountSField.h:42
H3D API namespace.
Definition: Anchor.h:38