62 lines
1.4 KiB
Plaintext
62 lines
1.4 KiB
Plaintext
// Copyright (C) 2010, Guy Barrand. All rights reserved.
|
|
// See the file tools.license for terms.
|
|
|
|
#ifndef tools_sg_get_matrix_action
|
|
#define tools_sg_get_matrix_action
|
|
|
|
#include "matrix_action"
|
|
|
|
namespace tools {
|
|
namespace sg {
|
|
class node;
|
|
}}
|
|
|
|
namespace tools {
|
|
namespace sg {
|
|
|
|
class get_matrix_action : public matrix_action {
|
|
TOOLS_ACTION(get_matrix_action,tools::sg::get_matrix_action,matrix_action)
|
|
public:
|
|
get_matrix_action(std::ostream& a_out,unsigned int a_ww,unsigned int a_wh)
|
|
:matrix_action(a_out,a_ww,a_wh)
|
|
,m_node(0) //not owner
|
|
,m_done(false)
|
|
{}
|
|
virtual ~get_matrix_action(){}
|
|
public:
|
|
get_matrix_action(const get_matrix_action& a_from)
|
|
:matrix_action(a_from)
|
|
,m_node(a_from.m_node)
|
|
,m_done(false)
|
|
{}
|
|
get_matrix_action& operator=(const get_matrix_action& a_from){
|
|
matrix_action::operator=(a_from);
|
|
m_node = a_from.m_node;
|
|
reset();
|
|
return *this;
|
|
}
|
|
public:
|
|
void reset() {
|
|
m_found_model.set_zero();
|
|
m_done = false;
|
|
}
|
|
|
|
void set_found_model(const mat4f& a_m) {m_found_model = a_m;}
|
|
const mat4f& found_model() const {return m_found_model;}
|
|
|
|
void set_done(bool a_value) {m_done = a_value;}
|
|
bool done() const {return m_done;}
|
|
|
|
void set_node(sg::node* a_v) {m_node = a_v;}
|
|
sg::node* node() const {return m_node;}
|
|
|
|
protected:
|
|
sg::node* m_node; //not owner.
|
|
bool m_done;
|
|
mat4f m_found_model;
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|