/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ // Original file Copyright Crytek GMBH or its affiliates, used under license. #pragma once #include "Core/Plane.h" class HeightManipulator { public: HeightManipulator() : m_bDisplayable(false) {} void Init(const BrushPlane& floorPlane, const BrushVec3& vPivot) { m_FloorPlane = floorPlane; m_vPivot = vPivot; m_bDisplayable = false; } BrushFloat UpdateHeight(const BrushMatrix34& worldTM, CViewport* view, const QPoint& point); void Display(DisplayContext& dc); private: BrushVec3 m_vPivot; BrushPlane m_FloorPlane; BrushPlane m_HelperPlane; bool m_bDisplayable; }; namespace CD { extern HeightManipulator s_HeightManipulator; } using CD::s_HeightManipulator;