예제 #1
0
 /**
  * Datasource binding method prototype
  *
  * When overloaded, should either return true or a PEAR_Error object
  *
  * @return  object PEAR_Error   An error with message
  *                              'No data source driver loaded'
  * @access  public                          
  */
 function bind()
 {
     return PEAR_Error("No data source driver loaded");
 }
 /**
  * Vector triple scalar product =  v1 . (v2 x v3) 
  *
  * @access	public
  * @param	object	Math_Vector3 (or subclass)	$v1
  * @param	object	Math_Vector3 (or subclass)	$v2
  * @param	object	Math_Vector3 (or subclass)	$v3
  * @return	mixed	the triple scalar product (float) on success, a PEAR_Error object otherwise
  *
  * @see		isVector3()
  * @see		dotProduct()
  * @see		crossProduct()
  */
 function tripleScalarProduct($v1, $v2, $v3)
 {
     if (Math_VectorOp::isVector3($v1) && Math_VectorOp::isVector3($v2) && Math_VectorOp::isVector3($v3)) {
         return Math_VectorOp::dotProduct($v1, Math_VectorOp::crossProduct($v2, $v3));
     } else {
         return PEAR_Error("All three vectors must be of the same type");
     }
 }