
    `0i                         d Z ddlmZ ddlmZ ddlmc mZ ddlm	Z	 ddl
Z
 G d dej        j                  Zedk    rE ej                    Z e            Ze                    d	           e                    e           dS dS )
z>
Sphere example
--------------

Subclassing Anatomist objects
    )print_function)absolute_importN)aimsc                   .    e Zd ZddZd Zd Zd Zd ZdS )ASphereNc                    t          j        ddd          | _        d| _        |t	          |          t
          j        u rvt          j        j	        
                    | |           t          j                    }t          j        |                    |                    }|                     |           d S t          j        j	        
                    |            |                     |           d S t          j        j	        
                    |            t          j        t           j                            | j        | j        d                    }|                     |           d S )Nr   d   )r   Point3df_center_radiustypesixstring_types	anatomistcpp
ASurface_3__init__Readerrc_ptr_AimsTimeSurface_3read
setSurfaceSurfaceGeneratorsphere)selfmeshrms       k/home_local/a-sac-ns-brainvisa/bbi-daily/brainvisa-web/src/anatomist-gpl/pyanatomist/doc/examples/sphere.pyr   zASphere.__init__3   s0   }Q1-- 	DzzS-- 	&(11$===KMM1!&&,,??""""" (11$777%%%%% M$--d333-d.C.J.J.2lDL#/O /O P PAOOA    c                     | j         S N)r   r   s    r   radiuszASphere.radiusH   
    |r   c                     | j         S r!   )r   r"   s    r   centerzASphere.centerK   r$   r   c                 R   t          |          t          j        urt          j        | }|| j        z
  }|| _        |                                                                 }|D ]}||z  }|                                  |                                  |                                  d S r!   )	r   r   r
   r   surfacevertex
setChangedUpdateMinAndMaxnotifyObservers)r   ccdiffvvis        r   	setCenterzASphere.setCenterN   s    77$-' 	"q!ADL LLNN!!## 	 	B%KBBr   c                    |dk    rt          d           d S t          |          | j        z  }t          |          | _        |                                                                 }| j        }|D ] }|                    ||z
  |z  |z              !|                                  |                                  | 	                                 d S )Nr   zcan't assign radius 0)
printfloatr   r(   r)   r   assignr*   r+   r,   )r   r   sclr/   r-   r0   s         r   	setRadiuszASphere.setRadius[   s    6 	*+++FAhh%QxxLLNN!!##L 	* 	*BIIrAvnq())))r   r!   )__name__
__module____qualname__r   r#   r&   r1   r7    r   r   r   r   1   sd           *          r   r   __main__r   )__doc__
__future__r   r   anatomist.direct.apidirectapir   somar   r   r   r   r   r8   	AnatomistassetNameregisterObjectr;   r   r   <module>rH      s   D  & % % % % % & & & & & & ( ( ( ( ( ( ( ( (       



7 7 7 7 7im& 7 7 7x z 	A		AIIhQ	 r   