/**
	* Finds the viewport to use for the landscape tool
	*/
	static FLevelEditorViewportClient* FindSelectedViewport()
	{
		FLevelEditorViewportClient* SelectedViewport = NULL;

		for (int32 i = 0; i < GEditor->LevelViewportClients.Num(); i++)
		{
			FLevelEditorViewportClient* ViewportClient = GEditor->LevelViewportClients[i];
			if (!ViewportClient->IsOrtho())
			{
				SelectedViewport = ViewportClient;
			}
		}

		return SelectedViewport;
	}
	/**
	* Returns the current flags state for the given show flag index.
	*/
	bool GetPerspectiveOriginalFlagstate(const int32& InFlagIndex, int32& OutViewportClientNumber)
	{
		// Switch the view port to perspective.
		FLevelEditorViewportClient* ViewportClient;
		for (int32 i = 0; i < GEditor->LevelViewportClients.Num(); i++)
		{
			ViewportClient = GEditor->LevelViewportClients[i];
			if (ViewportClient->IsOrtho()) continue;
			
			OutViewportClientNumber = i;
			
			// Get the original show flag state for this show flag index.
			return ViewportClient->EngineShowFlags.GetSingleFlag(InFlagIndex);
		}

		return false;
	}