def marker_set(self, create = False):

    import VolumePath as vp
    marker_set = vp.find_marker_set_by_name('Volume eraser')
    if marker_set == None and create:
      marker_set = vp.Marker_Set('Volume eraser')
    return marker_set
Esempio n. 2
0
def place_marker(xyz, msys, color, radius, model_name=None, model_id=None):

    # Locate specified marker model
    mset = None
    import VolumePath as VP
    if not model_id is None:
        msets = VP.marker_sets(model_id)
        if len(msets) >= 1:
            mset = msets[0]

    if mset is None:
        # Create a new marker model
        mname = msys.name + ' center' if model_name is None else model_name
        mset = VP.Marker_Set(mname)
        mset.marker_molecule(model_id)

    mos = mset.marker_molecule().openState
    if mos != msys.openState:
        # Transform from volume to marker model coordinates.
        import Matrix
        xyz = Matrix.xform_xyz(xyz, msys.openState.xform, mos.xform)

    # Place marker at center position.
    mset.place_marker(xyz, color, radius)