Cumulia Illustrator Rendering Engine v1.1.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
scenario.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 2024-10-31
15// Version V1.1.0
16//##################################################################################################
17
18#pragma once
19
20#include <cilcore.h>
21
22#include <vector>
23#include <memory>
24
25#include "types.h"
26#include "../viz/types.h"
27#include "../data/types.h"
28
29namespace cil
30{
31 class ScenarioSettings;
32
34 {
35 private:
36 DataSolutionPtr m_dataSolution;
37 VizSolutionPtr m_vizSolution;
38 std::shared_ptr<ScenarioSettings> m_settings;
39 FilterPtrArray m_filters;
40
41 public:
42 Scenario(const DataSolutionPtr& dataSolution);
43
44 virtual void add(const std::shared_ptr<Filter>& filter);
45 virtual void remove(const std::shared_ptr<Filter>& filter);
46 virtual void update(const std::shared_ptr<Filter>& filter);
47 virtual void clear();
48 virtual const FilterPtrArray& list() const;
49
52 virtual SlicePtr addSlice();
54 virtual ClipPtr addClip();
61 virtual TubePtr addTube();
63 virtual ProbePtr addProbe();
64 virtual BlockPtr addBlock();
65 virtual SolidPtr addSolid();
68
69 const DataSolutionPtr& solution() const;
70 const std::shared_ptr<ScenarioSettings>& settings() const;
71
72 std::shared_ptr<Node> build(int index = 0);
73
74 std::shared_ptr<MinMax> findIntegrationTimeRange(const std::shared_ptr<Filter>& filter, int index = 0);
75 std::shared_ptr<MinMax> findIntegrationTimeRange(int index = 0);
76 };
77}
Definition scenario.h:34
const DataSolutionPtr & solution() const
virtual ClipPtr addClip()
virtual SlicePtr addSlice()
virtual ContourPtr addContour()
virtual ThresholdPtr addThreshold()
virtual const FilterPtrArray & list() const
virtual FringeSurfacePtr addFringeSurface()
std::shared_ptr< MinMax > findIntegrationTimeRange(int index=0)
virtual void remove(const std::shared_ptr< Filter > &filter)
virtual CrinkleSolidPtr addCrinkleSolid()
virtual TubePtr addTube()
virtual IsoVolumePtr addIsoVolume()
virtual RibbonPtr addRibbon()
Scenario(const DataSolutionPtr &dataSolution)
virtual void clear()
virtual StreamSurfacePtr addStreamSurface()
virtual StreamTracerPtr addStreamTracer()
const std::shared_ptr< ScenarioSettings > & settings() const
std::shared_ptr< Node > build(int index=0)
virtual CrinkleClipPtr addCrinkleClip()
virtual ProbePtr addProbe()
virtual BlockPtr addBlock()
virtual CrinkleSlicePtr addCrinkleSlice()
virtual void update(const std::shared_ptr< Filter > &filter)
virtual PointCloudPtr addPointCloud()
virtual void add(const std::shared_ptr< Filter > &filter)
std::shared_ptr< MinMax > findIntegrationTimeRange(const std::shared_ptr< Filter > &filter, int index=0)
virtual SolidPtr addSolid()
virtual PolygonSurfacePtr addPolygonSurface()
Definition decal.h:23
std::shared_ptr< FringeSurface > FringeSurfacePtr
Definition types.h:100
std::shared_ptr< Ribbon > RibbonPtr
Definition types.h:112
std::shared_ptr< CrinkleClip > CrinkleClipPtr
Definition types.h:105
std::shared_ptr< Probe > ProbePtr
Definition types.h:113
std::shared_ptr< StreamSurface > StreamSurfacePtr
Definition types.h:110
std::vector< FilterPtr > FilterPtrArray
Definition types.h:98
std::shared_ptr< Threshold > ThresholdPtr
Definition types.h:107
std::shared_ptr< DataSolution > DataSolutionPtr
Definition types.h:38
std::shared_ptr< Contour > ContourPtr
Definition types.h:106
std::shared_ptr< Tube > TubePtr
Definition types.h:111
std::shared_ptr< Block > BlockPtr
Definition types.h:114
std::shared_ptr< CrinkleSlice > CrinkleSlicePtr
Definition types.h:103
std::shared_ptr< StreamTracer > StreamTracerPtr
Definition types.h:109
std::shared_ptr< CrinkleSolid > CrinkleSolidPtr
Definition types.h:116
std::shared_ptr< PointCloud > PointCloudPtr
Definition types.h:117
std::shared_ptr< IsoVolume > IsoVolumePtr
Definition types.h:108
std::shared_ptr< PolygonSurface > PolygonSurfacePtr
Definition types.h:101
std::shared_ptr< Clip > ClipPtr
Definition types.h:104
std::shared_ptr< Slice > SlicePtr
Definition types.h:102
std::shared_ptr< Solid > SolidPtr
Definition types.h:115
std::shared_ptr< VizSolution > VizSolutionPtr
Definition types.h:48