Cumulia Illustrator Rendering Engine v2.1.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
attributes.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 <string>
21#include <tuple>
22#include <memory>
23
24#include <cilcore.h>
25
26#include "../viz/types.h"
27
28namespace cil
29{
30 class PartAttributes;
31
33 {
34 public:
35 enum class Appearence {
36 None,
37 Color,
38 Result,
39 };
40 enum class Display {
41 None = 0,
42
43 Poly_Unlight = 0x0001,
44 Poly_Shaded = 0x0002,
45 Poly_Shrink = 0x0003,
46 Poly_Strip = 0x0004,
47 Poly_Transparent = 0x0005,
49 Poly_Flat = 0x0007,
50 Poly_Position = 0x0008,
51 Poly_Normal = 0x0009,
52 Poly = 0x000F,
53
54 Wire_Unlight = 0x0010,
55 Wire_Width = 0x0020,
56 Wire_Ribbon = 0x0030,
57 Wire_Cylinder = 0x0040,
58 Wire = 0x00F0,
59
60 Line_Unlight = 0x0100,
61 Line_Width = 0x0200,
62 Line_Ribbon = 0x0300,
63 Line_Cylinder = 0x0400,
64 Line = 0x0F00,
65
66 Vert_Pixel = 0x1000,
67 Vert_Unlight = 0x2000,
69 Vert_Sphere = 0x3000,
70 Vert_FixedSphere = 0x4000,
71 Vert_Square = 0x5000,
72 Vert_Delta = 0x6000,
73 Vert_Star = 0x7000,
74 Vert_Rect = 0x8000,
75 Vert_Spiral = 0x9000,
76 Vert_Rose = 0xA000,
77 Vert_Ring = 0xB000,
78 Vert_Diamond = 0xC000,
79 Vert_Cloud = 0xD000,
80 Vert = 0xF000,
81
82 Anim_Line = 0x00010000,
83 Anim_Width = 0x00020000,
84 Anim_Ribbon = 0x00030000,
85 Anim_Cylinder = 0x00040000,
86 Anim_Meteor = 0x00050000,
87 Anim = 0x000F0000,
88
89 Ptcl_Sphere = 0x00100000,
90 Ptcl_FixedSphere = 0x00200000,
91 Ptcl_Pulse = 0x00300000,
92 Ptcl = 0x00F00000,
93
94 Voxl_Cube = 0x01000000,
95 Voxl_Ball = 0x02000000,
96 Voxl = 0x0F000000,
97 };
98
99 bool visible;
102 std::string scalar;
103 std::string vector;
104 std::string offset;
106
108
109 void merge(const PartAttributes& partAttributes);
110 };
111
123
125 {
126 public:
128
129 std::map<int, PartAttributes> children;
130 };
131
134}
Definition attributes.h:33
std::string offset
Definition attributes.h:104
std::string vector
Definition attributes.h:103
Color4f color
Definition attributes.h:105
void merge(const PartAttributes &partAttributes)
bool visible
Definition attributes.h:99
Appearence appearence
Definition attributes.h:100
Display display
Definition attributes.h:101
Appearence
Definition attributes.h:35
Display
Definition attributes.h:40
std::string scalar
Definition attributes.h:102
The Color4f class inherits from Color4, specilizing the template parameters to float for element type...
Definition color.h:146
Definition attributes.h:125
std::map< int, PartAttributes > children
Definition attributes.h:129
The Line class inherits from the base class State, defining width of Line.
Definition state.h:157
Definition attributes.h:113
Attributes::Display display
Definition attributes.h:120
bool visible
Definition attributes.h:118
Color4f color
Definition attributes.h:121
Attributes::Appearence appearence
Definition attributes.h:119
PartAttributes(const Attributes &attributes)
Definition decal.h:23
Attributes::Display operator|(Attributes::Display display1, Attributes::Display display2)
Attributes::Display operator&(Attributes::Display display1, Attributes::Display display2)