Cumulia Illustrator Rendering Engine v1.0.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-05-01
15// Version V1.0.0
16//##################################################################################################
17
18#pragma once
19
20#include <cilcore.h>
21
22#include <vector>
23#include <memory>
24
25namespace cil
26{
27 class Filter;
28 class FringeSurface;
29 class PolygonSurface;
30 class Slice;
31 class CrinkleSlice;
32 class Clip;
33 class CrinkleClip;
34 class Contour;
35 class Threshold;
36 class IsoVolume;
37 class StreamTracer;
38 class StreamSurface;
39 class Tube;
40 class Ribbon;
41 class Probe;
42 class Block;
43 class Solid;
44 class CrinkleSolid;
45 class PointCloud;
46
47 class Solution;
48 class SolutionData;
49 class ScenarioSettings;
50
52 {
53 private:
54 std::shared_ptr<SolutionData> m_solutionData;
55 std::shared_ptr<Solution> m_solution;
56
57 std::vector<std::shared_ptr<Filter>> m_filters;
58 std::shared_ptr<ScenarioSettings> m_settings;
59
60 public:
62
63 virtual bool open(const std::string& fileName, const std::string& typeName = "AUTO");
64 virtual void close();
65
66 const std::shared_ptr<Solution>& solution() const;
67 const std::shared_ptr<ScenarioSettings>& settings() const;
68
69 virtual void add(const std::shared_ptr<Filter>& filter);
70 virtual void remove(const std::shared_ptr<Filter>& filter);
71 virtual void update(const std::shared_ptr<Filter>& filter);
72 virtual void clear();
73 virtual const std::vector<std::shared_ptr<Filter>>& list() const;
74
75 virtual std::shared_ptr<FringeSurface> addFringeSurface();
76 virtual std::shared_ptr<PolygonSurface> addPolygonSurface();
77 virtual std::shared_ptr<Slice> addSlice();
78 virtual std::shared_ptr<CrinkleSlice> addCrinkleSlice();
79 virtual std::shared_ptr<Clip> addClip();
80 virtual std::shared_ptr<CrinkleClip> addCrinkleClip();
81 virtual std::shared_ptr<Contour> addContour();
82 virtual std::shared_ptr<Threshold> addThreshold();
83 virtual std::shared_ptr<IsoVolume> addIsoVolume();
84 virtual std::shared_ptr<StreamTracer> addStreamTracer();
85 virtual std::shared_ptr<StreamSurface> addStreamSurface();
86 virtual std::shared_ptr<Tube> addTube();
87 virtual std::shared_ptr<Ribbon> addRibbon();
88 virtual std::shared_ptr<Probe> addProbe();
89 virtual std::shared_ptr<Block> addBlock();
90 virtual std::shared_ptr<PointCloud> addPointCloud();
91 virtual std::shared_ptr<Solid> addSolid();
92 virtual std::shared_ptr<CrinkleSolid> addCrinkleSolid();
93
94 std::shared_ptr<Node> generate(int index = 0);
95 std::shared_ptr<MinMax> findIntegrationTimeRange(const std::shared_ptr<Filter>& filter, int index = 0);
96 std::shared_ptr<MinMax> findIntegrationTimeRange(int index = 0);
97 };
98}
Definition scenario.h:52
virtual std::shared_ptr< Contour > addContour()
virtual std::shared_ptr< CrinkleClip > addCrinkleClip()
std::shared_ptr< Node > generate(int index=0)
virtual std::shared_ptr< StreamTracer > addStreamTracer()
virtual void close()
std::shared_ptr< MinMax > findIntegrationTimeRange(int index=0)
virtual void remove(const std::shared_ptr< Filter > &filter)
virtual bool open(const std::string &fileName, const std::string &typeName="AUTO")
virtual std::shared_ptr< StreamSurface > addStreamSurface()
virtual std::shared_ptr< CrinkleSlice > addCrinkleSlice()
virtual std::shared_ptr< FringeSurface > addFringeSurface()
virtual void clear()
virtual std::shared_ptr< Tube > addTube()
virtual std::shared_ptr< Ribbon > addRibbon()
const std::shared_ptr< ScenarioSettings > & settings() const
virtual std::shared_ptr< Block > addBlock()
virtual std::shared_ptr< Slice > addSlice()
virtual const std::vector< std::shared_ptr< Filter > > & list() const
const std::shared_ptr< Solution > & solution() const
virtual std::shared_ptr< PolygonSurface > addPolygonSurface()
virtual std::shared_ptr< PointCloud > addPointCloud()
virtual std::shared_ptr< Probe > addProbe()
virtual std::shared_ptr< Solid > addSolid()
virtual std::shared_ptr< Threshold > addThreshold()
virtual void update(const std::shared_ptr< Filter > &filter)
virtual std::shared_ptr< IsoVolume > addIsoVolume()
virtual void add(const std::shared_ptr< Filter > &filter)
std::shared_ptr< MinMax > findIntegrationTimeRange(const std::shared_ptr< Filter > &filter, int index=0)
virtual std::shared_ptr< CrinkleSolid > addCrinkleSolid()
virtual std::shared_ptr< Clip > addClip()
Definition decal.h:23