Developer Documentation
Loading...
Searching...
No Matches
PlaneObject.hh
Go to the documentation of this file.
1
/*===========================================================================*\
2
* *
3
* OpenFlipper *
4
* Copyright (c) 2001-2015, RWTH-Aachen University *
5
* Department of Computer Graphics and Multimedia *
6
* All rights reserved. *
7
* www.openflipper.org *
8
* *
9
*---------------------------------------------------------------------------*
10
* This file is part of OpenFlipper. *
11
*---------------------------------------------------------------------------*
12
* *
13
* Redistribution and use in source and binary forms, with or without *
14
* modification, are permitted provided that the following conditions *
15
* are met: *
16
* *
17
* 1. Redistributions of source code must retain the above copyright notice, *
18
* this list of conditions and the following disclaimer. *
19
* *
20
* 2. Redistributions in binary form must reproduce the above copyright *
21
* notice, this list of conditions and the following disclaimer in the *
22
* documentation and/or other materials provided with the distribution. *
23
* *
24
* 3. Neither the name of the copyright holder nor the names of its *
25
* contributors may be used to endorse or promote products derived from *
26
* this software without specific prior written permission. *
27
* *
28
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
29
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
30
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
31
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
32
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
33
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
34
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
35
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
36
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
37
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
38
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
39
* *
40
\*===========================================================================*/
41
42
43
44
//=============================================================================
45
//
46
// Types
47
//
48
//=============================================================================
49
56
#ifndef PLANEOBJECT_HH
57
#define PLANEOBJECT_HH
58
59
60
61
//== INCLUDES =================================================================
62
63
#include <
OpenFlipper/common/BaseObjectData.hh
>
64
65
#include <
OpenFlipper/common/ObjectTypeDLLDefines.hh
>
66
67
#include <ACG/Geometry/Types/PlaneType.hh>
68
#include "PlaneNode.hh"
69
70
#include <ACG/Scenegraph/EnvMapNode.hh>
71
72
73
//== TYPEDEFS =================================================================
74
75
// //== CLASS DEFINITION =========================================================
76
77
class
OBJECTTYPEDLLEXPORT
PlaneObject
:
public
BaseObjectData
{
78
using
Plane
=
ACG::Geometry::Plane
;
79
80
friend
class
TypePlanePlugin
;
81
82
public
:
84
PlaneObject
();
85
90
PlaneObject
(
const
PlaneObject
& _object);
91
93
virtual
~PlaneObject
();
94
96
virtual
void
cleanup();
97
101
BaseObject
* copy();
102
103
104
protected
:
106
virtual
void
init(
const
Plane
* _plane = 0);
107
108
//===========================================================================
111
//===========================================================================
112
public
:
113
115
void
setName( QString _name );
116
117
//===========================================================================
120
//===========================================================================
121
public
:
122
Plane
& plane();
123
void
plane(
Plane
_plane);
124
125
private
:
126
Plane
plane_;
127
130
//===========================================================================
137
//===========================================================================
138
139
protected
:
147
void
update(
UpdateType
_type =
UPDATE_ALL
);
148
151
//===========================================================================
154
//===========================================================================
155
156
public
:
158
PlaneNode
* planeNode();
159
161
ACG::SceneGraph::EnvMapNode
* textureNode();
162
private
:
163
PlaneNode
*
planeNode_
;
164
165
ACG::SceneGraph::EnvMapNode
*
textureNode_
;
166
170
//===========================================================================
173
//===========================================================================
174
public
:
176
QString getObjectinfo();
177
180
//===========================================================================
183
//===========================================================================
184
public
:
186
bool
picked( uint _node_idx );
187
189
void
enablePicking(
bool
_enable );
190
192
bool
pickingEnabled();
193
196
};
197
198
//=============================================================================
199
#endif
// PLANEOBJECT_HH defined
200
//=============================================================================
BaseObjectData.hh
ObjectTypeDLLDefines.hh
ACG::Geometry::Plane
Definition
PlaneType.hh:50
ACG::SceneGraph::EnvMapNode
Definition
EnvMapNode.hh:78
BaseObjectData
Definition
BaseObjectData.hh:103
BaseObject
Definition
BaseObject.hh:82
PlaneNode
Definition
PlaneNode.hh:75
PlaneObject
Definition
PlaneObject.hh:77
PlaneObject::textureNode_
ACG::SceneGraph::EnvMapNode * textureNode_
Get the scenegraph Node.
Definition
PlaneObject.hh:165
PlaneObject::planeNode_
PlaneNode * planeNode_
Get the scenegraph Node.
Definition
PlaneObject.hh:163
TypePlanePlugin
Definition
TypePlane.hh:60
UpdateType
Update type class.
Definition
UpdateType.hh:59
UPDATE_ALL
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
Type-Plane
ObjectTypes
Plane
PlaneObject.hh
Generated on Wed Jul 16 2025 14:44:36 for Developer Documentation by
1.9.8