Changeset 594


Ignore:
Timestamp:
11/30/11 13:21:34 (6 months ago)
Author:
ddangelo
Message:

Hacky MatrixTransformer? Script added. Hack

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/avango-display/python/avango/display/setups/TwoView.py

    r592 r594  
    3737        for view in self.Views.value: 
    3838            view.StatsMode.value = self.StatsNum.value 
     39             
     40class MatrixLeftTransformer(avango.script.Script): 
     41     
     42    MatrixIn = avango.osg.SFMatrix() 
     43    MatrixOut = avango.osg.SFMatrix() 
     44    MatrixLeftMul = avango.osg.SFMatrix() 
     45     
     46    def __init__(self): 
     47        self.super(MatrixLeftTransformer).__init__() 
     48        self.MatrixLeftMul.value = avango.osg.make_trans_mat(0,0,0); 
     49         
     50    def evaluate(self): 
     51        self.MatrixOut.value = self.MatrixLeftMul.value * self.MatrixIn.value 
     52         
    3953 
    4054class TwoView(avango.display.Display): 
     
    8094        view1_yellow_glasses = self.make_glasses("ve-dtrack-xpand1", avango.osg.Vec3(-0.0825, 0.0, -0.045)) 
    8195         
    82         user1.Matrix.connect_from(view1_yellow_glasses.Matrix) 
     96        self.user1_matrix_mul = MatrixLeftTransformer() 
     97        self.user1_matrix_mul.MatrixIn.connect_from(view1_yellow_glasses.Matrix) 
     98        #user1.Matrix.connect_from(view1_yellow_glasses.Matrix) 
     99        user1.Matrix.connect_from(self.user1_matrix_mul.MatrixOut) 
    83100        self.keep_alive(view1_yellow_glasses) 
    84101        #blue glasses do not work properly. Use purple glasses instead 
     
    88105        #view2_purple_glasses = self.make_glasses("ve-dtrack-head1", avango.osg.Vec3(-0.089, 0.015, -0.040)) 
    89106        view2_purple_glasses = self.make_glasses("ve-dtrack-head1", avango.osg.Vec3(0.12, 0.043, 0.0 )) 
     107        self.user2_matrix_mul = MatrixLeftTransformer() 
     108        self.user2_matrix_mul.MatrixIn.connect_from(view2_purple_glasses.Matrix) 
    90109         
    91         user2.Matrix.connect_from(view2_purple_glasses.Matrix) 
     110        #user2.Matrix.connect_from(view2_purple_glasses.Matrix) 
     111        user2.Matrix.connect_from(self.user2_matrix_mul.MatrixOut) 
    92112        self.keep_alive(view2_purple_glasses) 
    93113 
     
    155175            stats_viewer.Views.value = self._views 
    156176            return stats_viewer 
     177         
     178        elif device == "MatrixUserMul": 
     179            if interface == "user1": 
     180                return self.user1_matrix_mul 
     181            elif interface == "user2": 
     182                return self.user1_matrix_mul 
     183            return None 
Note: See TracChangeset for help on using the changeset viewer.