goat3d

view src/node.h @ 78:53ea5b25426e

progress
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 08 May 2014 16:25:04 +0300
parents dad392c710df
children
line source
1 /*
2 goat3d - 3D scene, character, and animation file format library.
3 Copyright (C) 2013-2014 John Tsiombikas <nuclear@member.fsf.org>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program 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
13 GNU Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #ifndef NODE_H_
19 #define NODE_H_
21 #include "xform_node.h"
22 #include "object.h"
23 #include "aabox.h"
25 namespace g3dimpl {
27 class Node : public XFormNode {
28 private:
29 Object *obj;
31 mutable AABox bbox;
32 mutable bool bbox_valid;
34 public:
35 Node();
37 void set_object(Object *obj);
38 Object *get_object();
39 const Object *get_object() const;
41 const AABox &get_bounds() const;
42 };
44 void delete_node_tree(Node *n);
46 } // namespace g3dimpl
48 #endif // NODE_H_