|
From: <ma...@us...> - 2012-05-05 15:56:52
|
Revision: 785
http://openautomation.svn.sourceforge.net/openautomation/?rev=785&view=rev
Author: mayerch
Date: 2012-05-05 15:56:45 +0000 (Sat, 05 May 2012)
Log Message:
-----------
3D mode: Initial support of filters (only working for floors at the moment)
Modified Paths:
--------------
CometVisu/trunk/visu/structure/pure/_common.js
CometVisu/trunk/visu/structure/pure/page.js
CometVisu/trunk/visu/visu_config_2d3d.xml
Modified: CometVisu/trunk/visu/structure/pure/_common.js
===================================================================
--- CometVisu/trunk/visu/structure/pure/_common.js 2012-05-03 09:27:17 UTC (rev 784)
+++ CometVisu/trunk/visu/structure/pure/_common.js 2012-05-05 15:56:45 UTC (rev 785)
@@ -366,7 +366,10 @@
var pos = data.building2screen( new THREE.Vector3( l.x, l.y, l.z ) );
e.data.element.css( 'left', pos.x + 'px' );
e.data.element.css( 'top' , pos.y + 'px' );
- //console.log( e, data, e.data, pos.x, pos.y );
+
+ var floorFilter = true;
+ if( l.floorFilter) floorFilter = data.getState('showFloor') == data.buildingProperties.floorNames[ l.floorFilter ];
+ e.data.element.css( 'display', floorFilter ? '' : 'none' );
}
function extractLayout( layout, defaultValues )
@@ -396,6 +399,8 @@
if( layout.getAttribute('y' ) ) ret_val.y = layout.getAttribute('y' );
if( layout.getAttribute('z' ) ) ret_val.z = layout.getAttribute('z' );
if( layout.getAttribute('floor') ) ret_val.floor = layout.getAttribute('floor');
+ if( layout.getAttribute('floorFilter') ) ret_val.floorFilter = layout.getAttribute('floorFilter');
+ if( layout.getAttribute('roomFilter') ) ret_val.roomFilter = layout.getAttribute('roomFilter' );
return ret_val;
}
Modified: CometVisu/trunk/visu/structure/pure/page.js
===================================================================
--- CometVisu/trunk/visu/structure/pure/page.js 2012-05-03 09:27:17 UTC (rev 784)
+++ CometVisu/trunk/visu/structure/pure/page.js 2012-05-05 15:56:45 UTC (rev 785)
@@ -89,6 +89,19 @@
address[ '_' + $p.attr('floor') ] = [ 'DPT:5.004', 0, 'floor' ];
container.bind( '_' + $p.attr('floor'), this.update );
};
+
+ $( childs ).each( function(i,a){
+ if( this.tagName == 'filter' )
+ {
+ var floorFilter = $(this).attr('floor');
+ var roomFilter = $(this).attr('room');
+ childs.splice( i, 1 ); // remove filter element
+ $(this).children().each( function(j){ // and add it's children
+ $(this).find('layout').attr({floorFilter:floorFilter,roomFilter:roomFilter});
+ childs.splice( i+j, 0, this );
+ });
+ }
+ });
}
container.data( 'address', address );
$( childs ).each( function(i){
Modified: CometVisu/trunk/visu/visu_config_2d3d.xml
===================================================================
--- CometVisu/trunk/visu/visu_config_2d3d.xml 2012-05-03 09:27:17 UTC (rev 784)
+++ CometVisu/trunk/visu/visu_config_2d3d.xml 2012-05-05 15:56:45 UTC (rev 785)
@@ -83,6 +83,22 @@
<layout x="3.5" y="3.7" z="1.0"/>
<address transform="DPT:5.001" type="">12/7/53</address>
</info>
+ <filter floor="Underground" room="Room2">
+ <info format="%.2f">
+ <layout x="7.5" y="3.7" z="1.0"/>
+ <address transform="DPT:5.001" type="">12/7/53</address>
+ </info>
+ </filter>
+ <filter floor="Underground">
+ <info format="%.2f">
+ <layout x="3.5" y="7.7" z="1.0"/>
+ <address transform="DPT:5.001" type="">12/7/53</address>
+ </info>
+ <info format="%.2f">
+ <layout x="7.5" y="7.7" z="2.0"/>
+ <address transform="DPT:5.001" type="">12/7/53</address>
+ </info>
+ </filter>
<slide min="0" max="6.283185307179586" step="0.01">
<layout x="0px" y="570px" width="600px" />
<label>Azimut</label>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|