// Aqsis
// Copyright (c) 1997 - 2001, Paul C. Gregory
//
// Contact: pgregory@aqsis.com
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

/**
 * Copyright (C) 2006-2007  NTT DATA CORPORATION
 * 
 * Version: 1.0.0 2007/04/01
 *  
 */
package net.cellcomputing.himawari.library;

import net.cellcomputing.himawari.library.types.CqVector3D;

/**
 * 
 * ポリゴンのテスト用に点データなどを保持するクラス。
 * 
 * @author NTT DATA Corporation
 */
public strictfp class CqHitTestCache {
	
	// these 3 are used in calculating the interpolated depth value
	public CqVector3D m_VecN		= new CqVector3D();
	public float m_OneOverVecNZ;
	public float m_D;

	// these 4 hold values used in doing the edge tests. 1 of each for each edge.
	public float[] m_YMultiplier	= new float[4];
	public float[] m_XMultiplier	= new float[4];
	public float[] m_X				= new float[4];
	public float[] m_Y				= new float[4];

	// this holds the index of the last edge that failed an edge test, chances
	// are it will fail on the next sample as well, so we test this edge first.
	public int	m_LastFailedEdge;
}
