Ignore:
Timestamp:
04/16/12 15:28:43 (11 years ago)
Author:
agalech
Message:

New algorithm of decomposition

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/openPLM/document3D/arborescense.py

    r1005 r1007  
    11import os, os.path 
    2 from OCC.gp import * 
    32from openPLM.plmapp.controllers.part import PartController 
    43from classes import * 
     
    110109    locate+="object%s.matrixAutoUpdate = false;\n"%numeration 
    111110    if len(loc)>0: 
    112         transformation=gp_Trsf() 
    113         gp=gp_XYZ() 
    114111        for g in range(len(loc)): 
    115             if g==0: 
    116                 transformation=loc[g].Transformation() 
    117             else: 
    118                 transformation.Multiply(loc[g].Transformation()) 
    119                  
    120         a ,b =transformation.GetRotation(gp) 
    121         t=transformation.TranslationPart() 
    122  
    123  
    124  
    125         if a:         
    126             locate+="object%s.matrix.setRotationAxis(new THREE.Vector3( %s, %s, %s ), %s);\n"%(numeration,gp.X(),gp.Y(),gp.Z(),b) 
    127                    
    128         locate+="object%s.matrix.setPosition(new THREE.Vector3( %s, %s, %s ));\n"%(numeration,t.X(),t.Y(),t.Z()) 
     112            locate+="object%s.matrix.multiplySelf(new THREE.Matrix4(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,0,0,0,1));\n"%(numeration,loc[g].x1,loc[g].x2,loc[g].x3,loc[g].x4,loc[g].y1, 
     113            loc[g].y2,loc[g].y3,loc[g].y4,loc[g].z1,loc[g].z2,loc[g].z3,loc[g].z4) 
     114 
    129115         
    130116    locate+="object3D.add(object%s);\n"%numeration     
     
    175161        new_product=generateArbre(json.loads(new_ArbreFile.file.read()),product=False,product_root=product_root,deep=deep,from_child_ArbreFile=product)                                                                                      
    176162        for location in list_loc[i]: 
    177             product.links[-1].add_occurrence(location.name,Matrix_rotation(location.to_array())) 
     163            product.links[-1].add_occurrence(location.name,location) 
    178164             
    179165        if new_product: 
Note: See TracChangeset for help on using the changeset viewer.