def update_coordinates (   self,
  parent_center = None,
  reference_coordinate = None,
  matrix_to_global = None 
)

do a complete transform of our angular coordinates and positions to a new frame.  
Our rotation is adjusted from its current value by matrix_to_global.
Our center is moved to parent_center+rotated value of (self.center-reference_coordinate).  
This is used when we are embedded in a composite optic, and the whole composite optic is moved or rotated.

Reimplemented in composite_optic.

Definition at line 631 of file general_optics.py.

00631                                                                                                           :
00632                 """do a complete transform of our angular coordinates and positions to a new frame.  
00633                 Our rotation is adjusted from its current value by matrix_to_global.
00634                 Our center is moved to parent_center+rotated value of (self.center-reference_coordinate).  
00635                 This is used when we are embedded in a composite optic, and the whole composite optic is moved or rotated.
00636                 """
00637                 if parent_center is None:
00638                         parent_center=self.center
00639                 if reference_coordinate is None:
00640                         reference_coordinate=self.center
00641                 if matrix_to_global is not None:                                
00642                         self.matrix_to_global=Numeric.dot(matrix_to_global, self.matrix_to_global)
00643                         self.matrix_to_local=Numeric.transpose(self.matrix_to_global)
00644                 self.center=parent_center+Numeric.dot(matrix_to_global, self.center-reference_coordinate)
00645                 self.cosines=self.transform_into_global(Numeric.array((0,0,1)))
00646                 self.euler=None
00647                 return self
00648                 
        def polygon(self):


Generated on Wed Nov 21 10:18:32 2007 for analysis by  doxygen 1.5.4