 with the lifesaving tools of their trade.
At first, the crew sent an infra-red camera down the shaft to assess and monitor the kitten’s situation using a custom catch pole made of PVC piping with a cable looped at the end. After locating their tiny target at the bottom of the shaft, Lopez maneuvered SMART’s “Flex Pole” down to the kitten, keeping a close eye on the video monitor. Once the cable was secured around the kitten’s body, he was brought to the surface safely.
After veterinary treatment, a good meal, and a bath at the North Central Animal Shelter, “Timmy Borisshaft” was adopted by a loving family the very same weekend.
Keep up with the Los Angeles Animal Services Specialized Mobile Animal Rescue Team (SMART) on Facebook, Instagram, and Twitter.
The Monroe County Health Board met last Tuesday night at the Monroe County Annex Building in Waterloo. Discussion of a possible urgent care facility took up most of the two-hour session.
Monroe County Health Department Administrator John Wagner opened the discussion, noting that his initial guidance had been to explore establishing such a service in Waterloo under a contract with an existing urgent care group. The original idea was to better serve the medical needs of Medicaid patients and those without adequate insurance, he said.
However, Wagner said recent concerns indicated a need for a more thorough discussion of several factors, including level of need; how such a facility would fit into the county’s overall health needs; and potential issues of unfair competition with private medical practitioners.
Difficulty determining the demographics of this need was noted first. While there has been anecdotal evidence from people calling or visiting the health office indicating they could not find doctors willing to serve them, the accuracy of this as an indication of a broader need was questioned.
While fellow board member Ellen Gates said this county offers neither a hospital nor urgent care facility, another board member, Dr. Michael Kirk, pointed out that citizens are within 30 minutes of four major hospitals in the region: Red Bud Regional Hospital, St. Elizabeth’s Hospital and Memorial Hospital in Belleville, and St. Anthony’s Medical Center in St. Louis County.
He also told how he originally practiced in western Kansas in an area in which the closest hospital was 270 miles away in Denver.
Kirk also offered an analysis by the Illinois Health Commission that notes Monroe County is not now, nor has it been for many years, on their watch list for any lack of medical service availability.
As the discussion continued, in addition to questions of who and how many would be served, the more basic issue of what the health department’s role should be arose.
At the conclusion of the discussion — which also accepted comments and questions from members of the public — Wittenauer moved that the board should not pursue a contract for an urgent care facility at this time, but rather it should better address the issues of need and proper role of the county in meeting any need identified.
The board also discussed the status of an emergency power generator recently acquired from the county for the Annex Building.
It was noted that the generator, which is available because it has been assessed as inadequate to power the entire Monroe County Courthouse, where it is currently located, has not been tested since it was removed from the old nursing home.
Wagner said he would check into the proper procedure for preparing it for use. It will provide emergency power to the Annex, especially to support Monroe County EMS, which is also housed there.
The county is anticipating receiving a generator with adequate capacity to serve the entire courthouse under a federal program.<reponame>synergynet/synergynet2.5<filename>synergynet2.5/src/main/java/synergynetframework/jme/cursorsystem/MultiTouchElement.java
/*
 * Copyright (c) 2008 University of Durham, England All rights reserved.
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met: *
 * Redistributions of source code must retain the above copyright notice, this
 * list of conditions and the following disclaimer. * Redistributions in binary
 * form must reproduce the above copyright notice, this list of conditions and
 * the following disclaimer in the documentation and/or other materials provided
 * with the distribution. * Neither the name of 'SynergyNet' nor the names of
 * its contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission. THIS SOFTWARE IS PROVIDED
 * BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
 * EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package synergynetframework.jme.cursorsystem;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import synergynetframework.jme.cursorsystem.cursordata.ScreenCursor;
import synergynetframework.jme.cursorsystem.cursordata.ScreenCursorRecord;
import synergynetframework.jme.cursorsystem.cursordata.WorldCursorRecord;
import synergynetframework.jme.pickingsystem.data.PickResultData;
import synergynetframework.mtinput.events.MultiTouchCursorEvent;

import com.jme.math.Quaternion;
import com.jme.math.Vector2f;
import com.jme.math.Vector3f;
import com.jme.scene.Spatial;
import com.sun.media.Log;

/**
 * Super class for elements that provide multi-touch interaction on a particular
 * JME Spatial. A MultiTouch element allows the picking element to be different
 * from the actual object manipulated, but for most applications, the picking
 * elements will be the same as the manipulated object.
 *
 * @author dcs0ah1
 */
public abstract class MultiTouchElement {

	/** The Constant AXIS_Z. */
	public static final Vector3f AXIS_Z = new Vector3f(0, 0, 1).normalize();

	/** The Constant DIRECTION_UP. */
	public static final Vector2f DIRECTION_UP = new Vector2f(0, 1);
	
	/** The active. */
	protected boolean active = true;
	
	/** The name. */
	protected String name;

	/** The picking spatial. */
	protected Spatial pickingSpatial;
	
	/** The pick me only. */
	protected boolean pickMeOnly = false;

	/** The pick result data origins. */
	protected Map<Long, PickResultData> pickResultDataOrigins = new HashMap<Long, PickResultData>();

	/** The screen cursor angle at origin. */
	protected float screenCursorAngleAtOrigin;
	
	/** The screen cursor origins. */
	protected Map<Long, ScreenCursorRecord> screenCursorOrigins = new HashMap<Long, ScreenCursorRecord>();
	
	/** The screen cursors. */
	protected Vector<ScreenCursor> screenCursors = new Vector<ScreenCursor>();

	/** The target spatial. */
	protected Spatial targetSpatial;

	/** The target spatial rotation at origin. */
	protected Quaternion targetSpatialRotationAtOrigin;

	/** The target spatial scale at origin. */
	protected Vector3f targetSpatialScaleAtOrigin;
	
	/** The target spatial translation at origin. */
	protected Vector3f targetSpatialTranslationAtOrigin;

	/** The world locations. */
	protected List<WorldCursorRecord> worldLocations = new ArrayList<WorldCursorRecord>();
	
	/**
	 * Instantiates a new multi touch element.
	 *
	 * @param pickingAndTargetSpatial
	 *            the picking and target spatial
	 */
	public MultiTouchElement(Spatial pickingAndTargetSpatial) {
		this(pickingAndTargetSpatial, pickingAndTargetSpatial);
	}
	
	/**
	 * Instantiates a new multi touch element.
	 *
	 * @param pickingSpatial
	 *            the picking spatial
	 * @param targetSpatial
	 *            the target spatial
	 */
	public MultiTouchElement(Spatial pickingSpatial, Spatial targetSpatial) {
		if (pickingSpatial.getWorldBound() == null) {
			Log.error(pickingSpatial.getName() + " is UNPICKABLE!");
		}
		this.name = pickingSpatial.getName();
		this.pickingSpatial = pickingSpatial;
		this.targetSpatial = targetSpatial;
		MultiTouchElementRegistry