From e1bf674c16e3c8472b29574159c789cd3f0c64e0 Mon Sep 17 00:00:00 2001 From: Bryan Galdrikian Date: Fri, 24 Feb 2017 09:32:20 -0800 Subject: Updating to blast_source-windows@1.0.347-21749006 and blast_tools_and_samples-windows@1.0.347-21749006 with a new directory structure. NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this. --- .../SampleBase/ui/SelectionToolController.h | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h (limited to 'tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h') diff --git a/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h new file mode 100644 index 0000000..5261b90 --- /dev/null +++ b/tools/ArtistTools/source/BlastPlugin/SampleBase/ui/SelectionToolController.h @@ -0,0 +1,82 @@ +/* +* Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved. +* +* NVIDIA CORPORATION and its licensors retain all intellectual property +* and proprietary rights in and to this software, related documentation +* and any modifications thereto. Any use, reproduction, disclosure or +* distribution of this software and related documentation without an express +* license agreement from NVIDIA CORPORATION is strictly prohibited. +*/ + +#ifndef SELECTION_TOOL_CONTROLLER_H +#define SELECTION_TOOL_CONTROLLER_H + +#include "SampleManager.h" +#include "PxVec2.h" +#include "PxVec3.h" +#include "DebugRenderBuffer.h" +#include "BlastFamily.h" +#include "NvBlastExtPxManager.h" +class Renderable; +class RenderMaterial; + +namespace Nv +{ +namespace Blast +{ +class ExtPxActor; +} +} + +class SelectionToolController : public ISampleController +{ +public: + SelectionToolController(); + virtual ~SelectionToolController(); + + virtual LRESULT MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); + virtual void Animate(double dt); + void drawUI(); + + virtual void onInitialize(); + virtual void onSampleStart(); + virtual void onSampleStop(); + + void pointSelect(PxActor* actor, SelectMode selectMode = SM_RESET); + void rectSelect(PxVec3 eyePos, PxVec3 lefttop, PxVec3 leftbottom, PxVec3 righttop, PxVec3 rightbottom, SelectMode selectMode = SM_RESET); + void clearSelect(); + +private: + SelectionToolController& operator= (SelectionToolController&); + + //////// private methods //////// + + //////// used controllers //////// + + Renderer& getRenderer() const + { + return getManager()->getRenderer(); + } + + PhysXController& getPhysXController() const + { + return getManager()->getPhysXController(); + } + + BlastController& getBlastController() const + { + return getManager()->getBlastController(); + } + + //////// internal data //////// + + PxVec2 m_RectSelectScreenPos; + PxVec3 m_RectSelectSpaceDir; + bool m_bRectSelecting; + DebugRenderBuffer m_RectRenderBuffer; + + void setActorSelected(const ExtPxActor& actor, bool selected); + std::set m_actorsSelected; +}; + +#endif // SELECTION_TOOL_CONTROLLER_H \ No newline at end of file -- cgit v1.2.3