Cumulia Illustrator Rendering Engine v2.1.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
navigation.h
1//##################################################################################################
2//
3// Copyright (c) 2024 Beijing Qiongqi Tech Co.,Ltd. All rights reserved.
4
5// This source code is confidential and proprietary to Beijing Qiongqi Tech Co.,Ltd(The Holder).
6// Any unauthorized use, copying, modification, or distribution of the code is strictly prohibited.
7// Any user shall obtain authorizaition from the Holder before modifying the source code. And the user shall not
8// sublicense, sell, distribute, or transfer the source code, whether in original or modified form, to any third party
9// without the prior written consent of the Holder.
10
11// This copyright notice and permission grant shall be included in all copies or substantial portions of the source code.
12
13// Author Cumulia Illustrator
14// Date 2025-08-05
15// Version V2.1.0
16//##################################################################################################
17
18#pragma once
19
20#include "../mouse/manipulator.h"
21
22#include <map>
23#include <functional>
24#include <string>
25
26namespace cil
27{
29 {
30 public:
31 static std::map<int, std::string> Actions;
32
33 public:
34 NavigationManipulator(std::shared_ptr<Camera>& camera, const std::shared_ptr<Vector2i>& windowSize, const std::shared_ptr<BoundingBox>& boundingBox = nullptr);
35
36 protected:
37 std::shared_ptr<Camera> m_camera;
38 std::shared_ptr<Vector2i> m_windowSize;
39 std::shared_ptr<BoundingBox> m_boundingBox;
40 };
41
42 std::shared_ptr<NavigationManipulator> _manipulator_navigation(std::shared_ptr<Camera>& camera, const std::shared_ptr<Vector2i>& windowSize, const std::shared_ptr<BoundingBox>& boundingBox = nullptr);
43}
Definition manipulator.h:32
Definition navigation.h:29
std::shared_ptr< Camera > m_camera
Definition navigation.h:37
std::shared_ptr< Vector2i > m_windowSize
Definition navigation.h:38
std::shared_ptr< BoundingBox > m_boundingBox
Definition navigation.h:39
static std::map< int, std::string > Actions
Definition navigation.h:31
NavigationManipulator(std::shared_ptr< Camera > &camera, const std::shared_ptr< Vector2i > &windowSize, const std::shared_ptr< BoundingBox > &boundingBox=nullptr)
Definition decal.h:23
std::shared_ptr< NavigationManipulator > _manipulator_navigation(std::shared_ptr< Camera > &camera, const std::shared_ptr< Vector2i > &windowSize, const std::shared_ptr< BoundingBox > &boundingBox=nullptr)