Cumulia Illustrator Rendering Engine v1.1.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
filter.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 <memory>
21#include <string>
22#include <vector>
23
24namespace cil
25{
26 class Attributes;
27 class PartAttributes;
28 class PolygonAttributes;
29 class PointAttributes;
30 class BlockAttributes;
31 class TracerAttributes;
32 class Parameters;
33 class FringeSurfaceParameters;
34 class PolygonSurfaceParameters;
35 class SliceParameters;
36 class CrinkleSliceParameters;
37 class ClipParameters;
38 class CrinkleClipParameters;
39 class ContourParameters;
40 class ThresholdParameters;
41 class IsoVolumeParameters;
42 class StreamTracerParameters;
43 class StreamSurfaceParameters;
44 class TubeParameters;
45 class RibbonParameters;
46 class PointParameters;
47 class SolidParameters;
48 class CrinkleSolidParameters;
49 class PointCloudParameters;
50
51 class Filter
52 {
53 protected:
54 std::shared_ptr<Attributes> m_attributes;
55 std::shared_ptr<Parameters> m_parameters;
56
57 public:
59
60 std::shared_ptr<Attributes> attributes() const;
61 std::shared_ptr<Parameters> parameters() const;
62 };
63
64 class FringeSurface : public Filter
65 {
66 public:
68
69 std::shared_ptr<PartAttributes> attributes() const;
70 std::shared_ptr<FringeSurfaceParameters> parameters() const;
71 };
72
73 class PolygonSurface : public Filter
74 {
75 public:
77
78 std::shared_ptr<PartAttributes> attributes() const;
79 std::shared_ptr<PolygonSurfaceParameters> parameters() const;
80 };
81
82 class Slice : public Filter
83 {
84 public:
86
87 std::shared_ptr<PolygonAttributes> attributes() const;
88 std::shared_ptr<SliceParameters> parameters() const;
89 };
90
91 class CrinkleSlice : public Filter
92 {
93 public:
95
96 std::shared_ptr<PolygonAttributes> attributes() const;
97 std::shared_ptr<CrinkleSliceParameters> parameters() const;
98 };
99
100 class Clip : public Filter
101 {
102 public:
104
105 std::shared_ptr<PolygonAttributes> attributes() const;
106 std::shared_ptr<ClipParameters> parameters() const;
107 };
108
109 class CrinkleClip : public Filter
110 {
111 public:
113
114 std::shared_ptr<PolygonAttributes> attributes() const;
115 std::shared_ptr<CrinkleClipParameters> parameters() const;
116 };
117
118 class Contour : public Filter
119 {
120 public:
122
123 std::shared_ptr<PolygonAttributes> attributes() const;
124 std::shared_ptr<ContourParameters> parameters() const;
125 };
126
127 class Threshold : public Filter
128 {
129 public:
131
132 std::shared_ptr<PolygonAttributes> attributes() const;
133 std::shared_ptr<ThresholdParameters> parameters() const;
134 };
135
136 class IsoVolume : public Filter
137 {
138 public:
140
141 std::shared_ptr<PolygonAttributes> attributes() const;
142 std::shared_ptr<IsoVolumeParameters> parameters() const;
143 };
144
145 class StreamTracer : public Filter
146 {
147 public:
149
150 std::shared_ptr<TracerAttributes> attributes() const;
151 std::shared_ptr<StreamTracerParameters> parameters() const;
152 };
153
154 class StreamSurface : public Filter
155 {
156 public:
158
159 std::shared_ptr<PolygonAttributes> attributes() const;
160 std::shared_ptr<StreamSurfaceParameters> parameters() const;
161 };
162
163 class Tube : public Filter
164 {
165 public:
167
168 std::shared_ptr<PolygonAttributes> attributes() const;
169 std::shared_ptr<TubeParameters> parameters() const;
170 };
171
172 class Ribbon : public Filter
173 {
174 public:
176
177 std::shared_ptr<PolygonAttributes> attributes() const;
178 std::shared_ptr<RibbonParameters> parameters() const;
179 };
180
181 class Probe : public Filter
182 {
183 public:
185
186 std::shared_ptr<PointAttributes> attributes() const;
187 std::shared_ptr<PointParameters> parameters() const;
188 };
189
190 class Block : public Filter
191 {
192 public:
194
195 std::shared_ptr<BlockAttributes> attributes() const;
196 std::shared_ptr<PointParameters> parameters() const;
197 };
198
199 class Solid : public Filter
200 {
201 public:
203
204 std::shared_ptr<PolygonAttributes> attributes() const;
205 std::shared_ptr<SolidParameters> parameters() const;
206 };
207
208 class CrinkleSolid : public Filter
209 {
210 public:
212
213 std::shared_ptr<PolygonAttributes> attributes() const;
214 std::shared_ptr<CrinkleSolidParameters> parameters() const;
215 };
216
217 class PointCloud : public Filter
218 {
219 public:
221
222 std::shared_ptr<PointAttributes> attributes() const;
223 std::shared_ptr<PointCloudParameters> parameters() const;
224 };
225}
Definition filter.h:191
std::shared_ptr< PointParameters > parameters() const
std::shared_ptr< BlockAttributes > attributes() const
Definition filter.h:101
std::shared_ptr< PolygonAttributes > attributes() const
std::shared_ptr< ClipParameters > parameters() const
Definition filter.h:119
std::shared_ptr< ContourParameters > parameters() const
std::shared_ptr< PolygonAttributes > attributes() const
Definition filter.h:110
std::shared_ptr< PolygonAttributes > attributes() const
std::shared_ptr< CrinkleClipParameters > parameters() const
Definition filter.h:92
std::shared_ptr< CrinkleSliceParameters > parameters() const
std::shared_ptr< PolygonAttributes > attributes() const
Definition filter.h:209
std::shared_ptr< PolygonAttributes > attributes() const
std::shared_ptr< CrinkleSolidParameters > parameters() const
Definition filter.h:52
std::shared_ptr< Attributes > m_attributes
Definition filter.h:54
std::shared_ptr< Parameters > m_parameters
Definition filter.h:55
std::shared_ptr< Parameters > parameters() const
std::shared_ptr< Attributes > attributes() const
Definition filter.h:65
std::shared_ptr< FringeSurfaceParameters > parameters() const
std::shared_ptr< PartAttributes > attributes() const
Definition filter.h:137
std::shared_ptr< IsoVolumeParameters > parameters() const
std::shared_ptr< PolygonAttributes > attributes() const
Definition filter.h:218
std::shared_ptr< PointAttributes > attributes() const
std::shared_ptr< PointCloudParameters > parameters() const
Definition filter.h:74
std::shared_ptr< PolygonSurfaceParameters > parameters() const
std::shared_ptr< PartAttributes > attributes() const
Definition filter.h:182
std::shared_ptr< PointParameters > parameters() const
std::shared_ptr< PointAttributes > attributes() const
Definition filter.h:173
std::shared_ptr< RibbonParameters > parameters() const
std::shared_ptr< PolygonAttributes > attributes() const
Definition filter.h:83
std::shared_ptr< PolygonAttributes > attributes() const
std::shared_ptr< SliceParameters > parameters() const
Definition filter.h:200
std::shared_ptr< SolidParameters > parameters() const
std::shared_ptr< PolygonAttributes > attributes() const
Definition filter.h:155
std::shared_ptr< PolygonAttributes > attributes() const
std::shared_ptr< StreamSurfaceParameters > parameters() const
Definition filter.h:146
std::shared_ptr< StreamTracerParameters > parameters() const
std::shared_ptr< TracerAttributes > attributes() const
Definition filter.h:128
std::shared_ptr< ThresholdParameters > parameters() const
std::shared_ptr< PolygonAttributes > attributes() const
Definition filter.h:164
std::shared_ptr< PolygonAttributes > attributes() const
std::shared_ptr< TubeParameters > parameters() const
Definition decal.h:23