Example #1
0
	//
	// Creates the grid.
	//
	public void CreateGrid()
	{
		AcousticSceneExporter.ExportScene();

        Phonon.Vector3 downVector;
        downVector.x = .0f; downVector.y = -1.0f; downVector.z = .0f;
        Phonon.Grid.iplCreateGrid(AcousticSceneExporter.Scene, downVector, Spacing, ref grid);

		int gridSize = Phonon.Grid.iplSaveGrid(grid, null);
		GridData = new byte[gridSize];
		Phonon.Grid.iplSaveGrid(grid, GridData);

		int numPoints = Phonon.Grid.iplGetGridPoints(grid, null);
		GridPoints = new float[3 * numPoints];
		Phonon.Vector3[] gridPointsArray = new Phonon.Vector3[numPoints];
		Phonon.Grid.iplGetGridPoints(grid, gridPointsArray);

		for (int i = 0; i < numPoints; ++i)
		{
			GridPoints[3*i + 0] = gridPointsArray[i].x;
			GridPoints[3*i + 1] = gridPointsArray[i].y;
			GridPoints[3*i + 2] = gridPointsArray[i].z;
		}
		
		Phonon.Grid.iplDestroyGrid(grid);

		AcousticSceneExporter.Destroy();
	}
Example #2
0
    //
    // Exports this object.
    //
    public bool ExportGeometry(IntPtr scene)
    {
        if (NumVertices == 0 || NumTriangles == 0)
            return false;

        Phonon.Vector3[] vertices = new Phonon.Vector3[NumVertices];
        Phonon.Triangle[] triangles = new Phonon.Triangle[NumTriangles];

        if (AttachedMesh != null)
            ExportMesh(vertices, triangles);
        else if (AttachedTerrain != null)
            ExportTerrain(vertices, triangles);
        else
            return false;

        Phonon.Export.iplSetObjectVertices(scene, vertices.Length, vertices);
        Phonon.Export.iplSetObjectTriangles(scene, triangles.Length, triangles);
        return true;
    }