erebus

diff liberebus/src/snode.h @ 1:59a72293f9bd

continuing
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 28 Apr 2014 05:58:22 +0300
parents 4abdce1361b9
children 474a0244f57d
line diff
     1.1 --- a/liberebus/src/snode.h	Sun Apr 27 16:02:47 2014 +0300
     1.2 +++ b/liberebus/src/snode.h	Mon Apr 28 05:58:22 2014 +0300
     1.3 @@ -16,8 +16,11 @@
     1.4  	SceneNode *parent;
     1.5  	std::vector<SceneNode*> children;
     1.6  
     1.7 +	Matrix4x4 node_xform, xform;
     1.8 +
     1.9  public:
    1.10  	void add_child(SceneNode *node);
    1.11 +	bool remove_child(SceneNode *node);
    1.12  
    1.13  	int get_num_children() const;
    1.14  	SceneNode *get_child(int idx) const;
    1.15 @@ -30,12 +33,14 @@
    1.16  	const Quaternion &get_node_rotation() const;
    1.17  	const Vector3 &get_node_scaling() const;
    1.18  
    1.19 -	const Vector3 &get_position() const;
    1.20 -	const Quaternion &get_rotation() const;
    1.21 -	const Vector3 &get_scaling() const;
    1.22 +	Vector3 get_position() const;
    1.23 +	Quaternion get_rotation() const;
    1.24 +	Vector3 get_scaling() const;
    1.25  
    1.26 -	void update_node(long msec = 0) const;
    1.27 -	void update(long msec = 0) const;
    1.28 +	void update_node(long msec = 0);
    1.29 +	void update(long msec = 0);
    1.30 +
    1.31 +	bool intersect(const Ray &ray, RayHit *hit) const;
    1.32  };
    1.33  
    1.34  #endif	// SNODE_H_
    1.35 \ No newline at end of file