#include "generic/callback.h"
#include "stringio.h"
-const Vector3 ORIGINKEY_IDENTITY = Vector3( 0, 0, 0 );
+const Vector3 ORIGINKEY_IDENTITY = Vector3(0, 0, 0);
-inline void default_origin( Vector3& origin ){
- origin = ORIGINKEY_IDENTITY;
-}
-inline void read_origin( Vector3& origin, const char* value ){
- if ( !string_parse_vector3( value, origin ) ) {
- default_origin( origin );
- }
+inline void default_origin(Vector3 &origin)
+{
+ origin = ORIGINKEY_IDENTITY;
}
-inline void write_origin( const Vector3& origin, Entity* entity, const char* key ){
- char value[64];
- sprintf( value, "%f %f %f", origin[0], origin[1], origin[2] );
- entity->setKeyValue( key, value );
+
+inline void read_origin(Vector3 &origin, const char *value)
+{
+ if (!string_parse_vector3(value, origin)) {
+ default_origin(origin);
+ }
}
-inline Vector3 origin_translated( const Vector3& origin, const Vector3& translation ){
- return matrix4_get_translation_vec3(
- matrix4_multiplied_by_matrix4(
- matrix4_translation_for_vec3( origin ),
- matrix4_translation_for_vec3( translation )
- )
- );
+inline void write_origin(const Vector3 &origin, Entity *entity, const char *key)
+{
+ char value[64];
+ sprintf(value, "%f %f %f", origin[0], origin[1], origin[2]);
+ entity->setKeyValue(key, value);
}
-inline Vector3 origin_snapped( const Vector3& origin, float snap ){
- return vector3_snapped( origin, snap );
+inline Vector3 origin_translated(const Vector3 &origin, const Vector3 &translation)
+{
+ return matrix4_get_translation_vec3(
+ matrix4_multiplied_by_matrix4(
+ matrix4_translation_for_vec3(origin),
+ matrix4_translation_for_vec3(translation)
+ )
+ );
}
-class OriginKey
+inline Vector3 origin_snapped(const Vector3 &origin, float snap)
{
-Callback<void()> m_originChanged;
+ return vector3_snapped(origin, snap);
+}
+
+class OriginKey {
+ Callback<void()> m_originChanged;
public:
-Vector3 m_origin;
+ Vector3 m_origin;
-OriginKey( const Callback<void()>& originChanged )
- : m_originChanged( originChanged ), m_origin( ORIGINKEY_IDENTITY ){
-}
+ OriginKey(const Callback<void()> &originChanged)
+ : m_originChanged(originChanged), m_origin(ORIGINKEY_IDENTITY)
+ {
+ }
-void originChanged( const char* value ){
- read_origin( m_origin, value );
- m_originChanged();
-}
-typedef MemberCaller<OriginKey, void(const char*), &OriginKey::originChanged> OriginChangedCaller;
+ void originChanged(const char *value)
+ {
+ read_origin(m_origin, value);
+ m_originChanged();
+ }
+ typedef MemberCaller<OriginKey, void(const char *), &OriginKey::originChanged> OriginChangedCaller;
-void write( Entity* entity ) const {
- write_origin( m_origin, entity, "origin" );
-}
+
+ void write(Entity *entity) const
+ {
+ write_origin(m_origin, entity, "origin");
+ }
};
#include "scenelib.h"
-inline BrushDoom3* Node_getBrushDoom3( scene::Node& node ){
- return NodeTypeCast<BrushDoom3>::cast( node );
+inline BrushDoom3 *Node_getBrushDoom3(scene::Node &node)
+{
+ return NodeTypeCast<BrushDoom3>::cast(node);
}
-inline void BrushDoom3_setDoom3GroupOrigin( scene::Node& node, const Vector3& origin ){
- BrushDoom3* brush = Node_getBrushDoom3( node );
- if ( brush != 0 ) {
- brush->setDoom3GroupOrigin( origin );
- }
+inline void BrushDoom3_setDoom3GroupOrigin(scene::Node &node, const Vector3 &origin)
+{
+ BrushDoom3 *brush = Node_getBrushDoom3(node);
+ if (brush != 0) {
+ brush->setDoom3GroupOrigin(origin);
+ }
}
-class SetDoom3GroupOriginWalker : public scene::Traversable::Walker
-{
-const Vector3& m_origin;
+class SetDoom3GroupOriginWalker : public scene::Traversable::Walker {
+ const Vector3 &m_origin;
public:
-SetDoom3GroupOriginWalker( const Vector3& origin ) : m_origin( origin ){
-}
-bool pre( scene::Node& node ) const {
- BrushDoom3_setDoom3GroupOrigin( node, m_origin );
- return true;
-}
+ SetDoom3GroupOriginWalker(const Vector3 &origin) : m_origin(origin)
+ {
+ }
+
+ bool pre(scene::Node &node) const
+ {
+ BrushDoom3_setDoom3GroupOrigin(node, m_origin);
+ return true;
+ }
};
-class Doom3GroupOrigin : public scene::Traversable::Observer
-{
-scene::Traversable& m_set;
-const Vector3& m_origin;
-bool m_enabled;
+class Doom3GroupOrigin : public scene::Traversable::Observer {
+ scene::Traversable &m_set;
+ const Vector3 &m_origin;
+ bool m_enabled;
public:
-Doom3GroupOrigin( scene::Traversable& set, const Vector3& origin ) : m_set( set ), m_origin( origin ), m_enabled( false ){
-}
-
-void enable(){
- m_enabled = true;
- originChanged();
-}
-void disable(){
- m_enabled = false;
-}
-
-void originChanged(){
- if ( m_enabled ) {
- m_set.traverse( SetDoom3GroupOriginWalker( m_origin ) );
- }
-}
-
-void insert( scene::Node& node ){
- if ( m_enabled ) {
- BrushDoom3_setDoom3GroupOrigin( node, m_origin );
- }
-}
-void erase( scene::Node& node ){
- if ( m_enabled ) {
- BrushDoom3_setDoom3GroupOrigin( node, Vector3( 0, 0, 0 ) );
- }
-}
+ Doom3GroupOrigin(scene::Traversable &set, const Vector3 &origin) : m_set(set), m_origin(origin), m_enabled(false)
+ {
+ }
+
+ void enable()
+ {
+ m_enabled = true;
+ originChanged();
+ }
+
+ void disable()
+ {
+ m_enabled = false;
+ }
+
+ void originChanged()
+ {
+ if (m_enabled) {
+ m_set.traverse(SetDoom3GroupOriginWalker(m_origin));
+ }
+ }
+
+ void insert(scene::Node &node)
+ {
+ if (m_enabled) {
+ BrushDoom3_setDoom3GroupOrigin(node, m_origin);
+ }
+ }
+
+ void erase(scene::Node &node)
+ {
+ if (m_enabled) {
+ BrushDoom3_setDoom3GroupOrigin(node, Vector3(0, 0, 0));
+ }
+ }
};