normal = new Vector( obj.getNormal( ) );
{   normal = new Vector( obj.getNormal( ) ); }
	protected boolean testAside( Object3D obj, boolean outside )	{		if ( viewVa.length < 3 && obj.getViewerVectors( ).length < 3 )		{			// skip cases of both lines or points.			return true;		}		Vector normal = null;		Vector ov = viewVa[0];		Vector[] tva = obj.getViewerVectors( );		Vector viewDirection = new Vector( 0, 0, 1 );		if ( viewVa.length < 3 )		{			normal = new Vector( obj.getNormal( ) );		}		else		{			normal = new Vector( getNormal( ) );		}		// check if the normal vector of face points to the same direction		// of the viewing direction		if ( normal.scalarProduct( viewDirection ) <= 0 )		{			normal.inverse( );		}		double d = -normal.get( 0 )				* ov.get( 0 )				- normal.get( 1 )				* ov.get( 1 )				- normal.get( 2 )				* ov.get( 2 );		for ( int i = 0; i < tva.length; i++ )		{			double p = tva[i].get( 0 )					* normal.get( 0 )					+ tva[i].get( 1 )					* normal.get( 1 )					+ tva[i].get( 2 )					* normal.get( 2 )					+ d;			if ( outside )			{				if ( ChartUtil.mathLT( p, 0 ) )				{					return false;				}			}			else			{				if ( ChartUtil.mathGT( p, 0 ) )				{					return false;				}			}		}		return true;	}