Cumulia Illustrator Rendering Engine v1.0.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
parameters.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 <string>
23#include <memory>
24#include <vector>
25
26namespace cil
27{
28 class PartData;
29 class FilterData;
30 class Part;
31 class Model;
32
34 {
35 public:
36 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
37 virtual std::shared_ptr<FilterData> operator<< (const std::shared_ptr<Model>& model);
38 };
39
41 {
42 public:
43 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
44 };
45
47 {
48 public:
49 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
50 };
51
53 {
54 public:
55 std::shared_ptr<Vector3f> origin;
56 std::shared_ptr<Vector3f> normal;
57
58 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
59 };
60
62 {
63 public:
64 std::shared_ptr<Vector3f> origin;
65 std::shared_ptr<Vector3f> normal;
66
67 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
68 };
69
71 {
72 public:
73 std::shared_ptr<Vector3f> origin;
74 std::shared_ptr<Vector3f> normal;
75
76 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
77 };
78
80 {
81 public:
82 std::shared_ptr<Vector3f> origin;
83 std::shared_ptr<Vector3f> normal;
84
85 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
86 };
87
89 {
90 public:
91 std::string name;
92 float value;
93
94 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
95 };
96
98 {
99 public:
100 std::string name;
101 std::shared_ptr<MinMax> range;
102
103 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
104 };
105
107 {
108 public:
109 std::string name;
110 std::shared_ptr<MinMax> range;
111
112 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
113 };
114
116 {
117 public:
118 std::string name;
119 std::vector<std::shared_ptr<Vector3f>> seeds;
121
122 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
123 };
124
126 {
127 public:
128 std::string name;
129 std::vector<std::shared_ptr<Vector3f>> seeds;
131
132 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
133 };
134
136 {
137 public:
138 std::string name;
139 std::vector<std::shared_ptr<Vector3f>> seeds;
140 std::string varying;
141 double radius;
143
144 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
145 };
146
148 {
149 public:
150 std::string name;
151 std::vector<std::shared_ptr<Vector3f>> seeds;
152 std::string varying;
153 double width;
155
156 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
157 };
158
160 {
161 public:
162 std::vector<std::shared_ptr<Vector3f>> seeds;
163
164 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
165 };
166
168 {
169 public:
170 enum class SolidType {
171 None,
172 Box,
173 Sphere,
174 Cylinder,
175 Line,
176 Plane,
177 Disk,
178 };
179
181 std::shared_ptr<Matrix4f> transform;
182
183 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
184 };
185
187 {
188 public:
189 enum class SolidType {
190 None,
191 Box,
192 Sphere,
193 Cylinder,
194 Line,
195 Plane,
196 Disk,
197 };
198
200 std::shared_ptr<Matrix4f> transform;
201
202 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
203 };
204
206 {
207 public:
208 virtual std::shared_ptr<PartData> operator<< (const std::shared_ptr<Part>& part);
209 };
210}
Definition parameters.h:71
std::shared_ptr< Vector3f > normal
Definition parameters.h:74
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
std::shared_ptr< Vector3f > origin
Definition parameters.h:73
Definition parameters.h:89
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
float value
Definition parameters.h:92
std::string name
Definition parameters.h:91
Definition parameters.h:80
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
std::shared_ptr< Vector3f > origin
Definition parameters.h:82
std::shared_ptr< Vector3f > normal
Definition parameters.h:83
Definition parameters.h:62
std::shared_ptr< Vector3f > normal
Definition parameters.h:65
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
std::shared_ptr< Vector3f > origin
Definition parameters.h:64
Definition parameters.h:187
SolidType
Definition parameters.h:189
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
std::shared_ptr< Matrix4f > transform
Definition parameters.h:200
SolidType solidType
Definition parameters.h:199
Definition filterdata.h:29
Definition parameters.h:41
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
Definition parameters.h:107
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
std::shared_ptr< MinMax > range
Definition parameters.h:110
std::string name
Definition parameters.h:109
Definition model.h:31
Definition parameters.h:34
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
Definition partdata.h:29
Definition part.h:31
Definition parameters.h:206
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
Definition parameters.h:160
std::vector< std::shared_ptr< Vector3f > > seeds
Definition parameters.h:162
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
Definition parameters.h:47
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
Definition parameters.h:148
std::string name
Definition parameters.h:150
std::string varying
Definition parameters.h:152
double width
Definition parameters.h:153
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
std::vector< std::shared_ptr< Vector3f > > seeds
Definition parameters.h:151
double lengthUnit
Definition parameters.h:154
Definition parameters.h:53
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
std::shared_ptr< Vector3f > normal
Definition parameters.h:56
std::shared_ptr< Vector3f > origin
Definition parameters.h:55
Definition parameters.h:168
std::shared_ptr< Matrix4f > transform
Definition parameters.h:181
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
SolidType solidType
Definition parameters.h:180
SolidType
Definition parameters.h:170
Definition parameters.h:126
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
std::string name
Definition parameters.h:128
double lengthUnit
Definition parameters.h:130
std::vector< std::shared_ptr< Vector3f > > seeds
Definition parameters.h:129
Definition parameters.h:116
std::string name
Definition parameters.h:118
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
double lengthUnit
Definition parameters.h:120
std::vector< std::shared_ptr< Vector3f > > seeds
Definition parameters.h:119
Definition parameters.h:98
std::shared_ptr< MinMax > range
Definition parameters.h:101
std::string name
Definition parameters.h:100
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
Definition parameters.h:136
double lengthUnit
Definition parameters.h:142
std::string varying
Definition parameters.h:140
double radius
Definition parameters.h:141
std::vector< std::shared_ptr< Vector3f > > seeds
Definition parameters.h:139
std::string name
Definition parameters.h:138
virtual std::shared_ptr< PartData > operator<<(const std::shared_ptr< Part > &part)
Definition decal.h:23