pyvcad-rendering 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. pyvcad_rendering-1.0.0/.gitignore +2 -0
  2. pyvcad_rendering-1.0.0/LICENSE +185 -0
  3. pyvcad_rendering-1.0.0/PKG-INFO +249 -0
  4. pyvcad_rendering-1.0.0/README.md +49 -0
  5. pyvcad_rendering-1.0.0/pyproject.toml +32 -0
  6. pyvcad_rendering-1.0.0/src/pyvcad_rendering/__init__.py +2 -0
  7. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/__init__.py +13 -0
  8. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/color_inkjet_ui.py +9 -0
  9. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/direct_material_inkjet_progress_ui.py +137 -0
  10. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/direct_material_inkjet_ui.py +112 -0
  11. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/finite_element_mesh_progress_ui.py +101 -0
  12. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/finite_element_mesh_ui.py +230 -0
  13. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/gcvf_inkjet_progress_ui.py +137 -0
  14. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/gcvf_inkjet_ui.py +119 -0
  15. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/meshes_progress_ui.py +140 -0
  16. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/meshes_ui.py +83 -0
  17. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/myerson_inkjet_progress_ui.py +118 -0
  18. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/myerson_inkjet_ui.py +106 -0
  19. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/vat_photo_progress_ui.py +116 -0
  20. pyvcad_rendering-1.0.0/src/pyvcad_rendering/compiler_input_ui/vat_photo_ui.py +156 -0
  21. pyvcad_rendering-1.0.0/src/pyvcad_rendering/export.py +14 -0
  22. pyvcad_rendering-1.0.0/src/pyvcad_rendering/export_frame.py +217 -0
  23. pyvcad_rendering-1.0.0/src/pyvcad_rendering/render.py +14 -0
  24. pyvcad_rendering-1.0.0/src/pyvcad_rendering/render_frame.py +408 -0
  25. pyvcad_rendering-1.0.0/src/pyvcad_rendering/vtk_pipeline_wx.py +595 -0
@@ -0,0 +1,2 @@
1
+ .venv/
2
+ .vscode/
@@ -0,0 +1,185 @@
1
+ Copyright © 2025 The Regents of the University of Colorado, a body corporate.
2
+ All Rights Reserved. Contact charles.wade@colorado.edu with any questions or
3
+ comments.
4
+ -------------------------------------------------------------------------------
5
+
6
+ The Program is the property of The Regents of the University of Colorado, a
7
+ body corporate, (CU or the University). CU hereby reserves all rights in the
8
+ Program (defined below) not expressly granted herein. In addition to being
9
+ subject to copyright protection, the use of this Program is covered by a
10
+ pending patent application. Any use, copy, publication, distribution, display,
11
+ modification, or transmission of the Program in whole or in part in any form or
12
+ by any means outside the rights expressly granted in this Notice without the
13
+ written permission of CU is strictly prohibited.
14
+
15
+ The Program consists of the computer software code known as “Systems and
16
+ Processes for Volumetric Multi-Material 3D Models” also known as “OpenVCAD”,
17
+ “VCAD” or similar, and the associated documentation, for making volumetric
18
+ multi-material 3D models.
19
+
20
+ You (the user or recipient of the Program) desire to acquire a license to use
21
+ the Program in accordance with the terms set forth in this Notice.
22
+
23
+ BY DOWNLOADING AND USING THIS PROGRAM, IN WHOLE OR IN PART, YOU AGREE TO COMPLY
24
+ WITH AND BE BOUND BY ALL TERMS IN THIS NOTICE. THE TERMS OF THIS NOTICE ALSO
25
+ APPLY TO ALL YOUR CONTRIBUTIONS (DEFINED BELOW). IN RETURN, THE UNIVERSITY
26
+ AGREES THAT IT SHALL NOT USE YOUR CONTRIBUTIONS IN A WAY THAT THE UNIVERSITY
27
+ BELIEVES IS CONTRARY TO THE PUBLIC BENEFIT. IF YOU DO NOT WISH TO COMPLY WITH
28
+ OR BE BOUND WITH THE TERMS OF THIS NOTICE YOU MUST IMMEDIATELY CEASE USE OF THE
29
+ PROGRAM AND DELETE ALL COPIES OR MODIFICATIONS OF THE PROGRAM COMPLETELY. If
30
+ You agree to these terms on behalf of an organization, You hereby represent to
31
+ CU that You are authorized to accept these terms on its behalf.
32
+
33
+ 1. Definitions:
34
+ “Contributor” means the copyright owner or legal entity authorized by the
35
+ copyright owner of any Contribution (defined below) submitted to the
36
+ University. For legal entities, the entity making a Contribution and all
37
+ other entities that control, are controlled by, or are under common control
38
+ with that entity are considered to be a single Contributor. For the
39
+ purposes of this definition, "control" means (i) the power, direct or
40
+ indirect, to cause the direction or management of such entity, whether by
41
+ contract or otherwise, or (ii) ownership of fifty percent (50%) or more of
42
+ the outstanding shares, or (iii) beneficial ownership of such entity.
43
+
44
+ “Contribution” means any original work of authorship, including any
45
+ modifications or additions to the Program, that is intentionally submitted
46
+ to the University for inclusion in, or documentation of, the Program. For
47
+ the purposes of this definition, “submitted” means any form of electronic,
48
+ verbal, or written communication sent to the University or its
49
+ representatives, including but not limited to communication on electronic
50
+ mailing lists, source code control systems, and issue tracking systems that
51
+ are managed by, or on behalf of, the University for the purpose of
52
+ discussing and improving the Program, but excluding communication that is
53
+ conspicuously marked and designated in writing as “Not a Contribution”.
54
+
55
+ 2. Grant of Copyright License for the Program: Subject to the terms and
56
+ conditions of this Notice, CU hereby grants to You a non-exclusive license
57
+ under CU’s copyright in the Program to use the Program for Your own
58
+ noncommercial academic or personal research.
59
+
60
+ 3. Grant of Patent License for the Program: Subject to the terms and
61
+ conditions of this Notice, CU hereby grants to You a non-exclusive license
62
+ under CU’s patent rights covering the Program to make, have made, use
63
+ import, and otherwise transfer the Program to Your collaborators for Your
64
+ own noncommercial academic or personal research, provided that the
65
+ foregoing patent license is granted under only those patent claims that are
66
+ necessarily infringed by Your Contribution(s). . If You institute patent
67
+ litigation against any third party (including a cross-claim or counterclaim
68
+ in a lawsuit) alleging that the Program or a Contribution incorporated
69
+ within the Program constitutes direct or contributory patent infringement,
70
+ then any patent licenses granted to You under this Notice for the Program
71
+ and Your Contributions shall terminate as of the date such litigation is
72
+ filed.
73
+
74
+ 4. Terms of Use of the Program. You may only use this Program for Your
75
+ noncommercial research and development efforts on behalf of a nonprofit
76
+ organization, or noncommercial research within and on behalf of a nonprofit
77
+ organization, or your own personal noncommercial activities. You may make
78
+ derivative works or modifications to the Programs, but only for Your
79
+ noncommercial research and development efforts within or on behalf of a
80
+ nonprofit academic or research organization, or your own personal
81
+ noncommercial activities. You may not remove or modify the copyright,
82
+ trademarks, or other proprietary notices and disclaimers as they appear in
83
+ the Program. You may distribute or publish the Program or any derivative
84
+ works of the Program made by You, provided that You must limit any further
85
+ use of the Program or derivative works to only noncommercial research and
86
+ development on behalf of a nonprofit academic or research organization, or
87
+ personal noncommercial activities. You shall not use the Program, any
88
+ portion thereof or any derivative works of the Program for any commercial
89
+ purposes. Commercial purposes for the purpose of this Notice include, but
90
+ are not limited to, providing services for others, distributing larger
91
+ programs that contain this Program and exchanging this Program or
92
+ derivative works of the Program in any manner for any form of compensation,
93
+ in-kind or otherwise. To the extent that You publish any results from the
94
+ use of the Program or derivative works of the Program, You must properly
95
+ acknowledge the Program as developed by the Matter Assembly Computation Lab
96
+ at the University of Colorado Boulder, and cite the published reference(s).
97
+ The recommended reference citation(s) for the Program is/are provided in
98
+ the Program documentation. This Notice is limited to the rights of The
99
+ Regents of the University of Colorado in the Program and does not include
100
+ any rights to other intellectual property. Your rights under this Notice
101
+ will terminate immediately and automatically if You fail to comply with any
102
+ of the terms and conditions of this Notice. Immediately upon termination,
103
+ You must cease all use of the Program and any derivative works of the
104
+ Program, destroy all copies of the Program and any derivative works of the
105
+ Program in Your possession or control. Termination of this Notice will not
106
+ limit any of CU’s rights or remedies at law or in equity. You acknowledge
107
+ that the Program is subject to U.S. export jurisdiction. You agree to
108
+ comply with all applicable international and national laws that apply to
109
+ the Program, including the U.S. Export Administration Regulations, as well
110
+ as end-user, end-use, and destination restrictions issued by U.S. and other
111
+ governments. The Program is distributed “as-is”, and CU has no obligation
112
+ to provide any maintenance, updates, additional documentation or services.
113
+
114
+ 5. Grant of Copyright License to Your Contributions. By submitting
115
+ Contributions to CU, Contributor grants to CU a non-exclusive, royalty free
116
+ license under Contributor’s copyright in the Contribution to use, reproduce,
117
+ modify, distribute, transmit, create derivative works from, publicly display
118
+ and publicly perform the Contribution for any purpose. CU may, in its sole
119
+ discretion, include your Contribution when licensing the Program under these or
120
+ any other license terms. To the extent that CU distributes or publishes a
121
+ Contribution or incorporates the Contribution into the Program, CU agrees to
122
+ give appropriate attribution to Contributor as prescribed by Contributor.
123
+ However, nothing in this Notice obligates CU to incorporate any Contribution
124
+ into the Program, and CU may elect not to publish or distribute a Contribution
125
+ in its sole discretion.
126
+
127
+ 6. With respect to any of Your Contributions, You represent that you are legally
128
+ entitled to grant the above license to such Contributions. You represent that
129
+ each of Your Contributions is Your original creation (see Section 8 for
130
+ submissions on behalf of others). You represent that Your Contribution
131
+ submissions include complete details of any third-party license or other
132
+ restriction (including, but not limited to, related patents and trademarks)
133
+ of which You are aware and which are associated with any part of Your
134
+ Contributions. You represent and warrant that You will not submit any
135
+ materials to University that You know or believe to have components that
136
+ are malicious or harmful. You represent that, with regard to all
137
+ representations in Section 6, You will perform a reasonable amount of due
138
+ diligence in order to be properly informed of third party licenses,
139
+ infringing materials or harmful content associated with any part of Your
140
+ Contribution.
141
+
142
+ 7. You are not expected to provide support for Your Contributions, except to
143
+ the extent You desire to provide support. You may provide support for free,
144
+ for a fee, or not at all.
145
+
146
+ 8. Should You wish to submit work that is not Your original creation, You may
147
+ submit it to the University separately from any Contribution, identifying
148
+ the complete details of its source and of any license or other restriction
149
+ (including, but not limited to, related patents, trademarks, and license
150
+ agreements) of which You are personally aware, and conspicuously marking
151
+ the work as "Submitted on behalf of a third-party: [named here]".
152
+
153
+ 9. You agree to notify the University of any facts or circumstances of which
154
+ You become aware that would make Your representations inaccurate in any
155
+ respect. You agree to notify the University of any administrative or court
156
+ proceeding that involve Your Contributions.
157
+
158
+ 10. CU DISCLAIMS, ANY AND ALL OTHER WARRANTIES, CONDITIONS, OR REPRESENTATIONS
159
+ (EXPRESS OR IMPLIED, ORAL OR WRITTEN), WITH RESPECT TO THE PROGRAM OR ANY
160
+ PART THEREOF, INCLUDING ANY AND ALL IMPLIED WARRANTIES OR CONDITIONS OF
161
+ TITLE, NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS OR SUITABILITY FOR ANY
162
+ PURPOSE (WHETHER OR NOT CU KNOWS, HAS REASON TO KNOW, HAS BEEN ADVISED, OR
163
+ IS OTHERWISE IN FACT AWARE OF ANY SUCH PURPOSE), WHETHER ALLEGED TO ARISE
164
+ BY LAW, BY REASON OF CUSTOM OR USAGE IN THE TRADE, OR BY COURSE OF DEALING.
165
+
166
+ 11. You are solely responsible for any and all losses or expenses arising from
167
+ or otherwise in respect of Your use of the Program or derivative works of
168
+ the Program.
169
+
170
+ 12. You agree that this Notice, will be governed and construed in accordance
171
+ with the laws of the State of Colorado.
172
+
173
+ 13. You acknowledge and agree that nothing contained in this Notice shall be
174
+ construed as an express or implied waiver of any immunity of the
175
+ University, either sovereign or governmental under the Colorado
176
+ Governmental Immunity Act.
177
+
178
+ 14. You agree that Your Contribution shall not contain any item(s) that are
179
+ either export-controlled under the International Traffic in Arms
180
+ Regulations, or that appear on the Commerce Control List (except as
181
+ EAR99) of the Export Administration Regulations.
182
+
183
+ 15. The invalidity, illegality, or unenforceability of any one or more phrases,
184
+ sentences, clauses, or sections in this Notice does not affect the remaining
185
+ portions of this Notice.
@@ -0,0 +1,249 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyvcad-rendering
3
+ Version: 1.0.0
4
+ Summary: Prototype Qt/VTK renderer for pyvcad models.
5
+ Project-URL: Homepage, https://matterassembly.org/openvcad
6
+ Project-URL: Documentation, https://matterassembly.org/openvcad-developer-dev/
7
+ Author-email: Charles Wade <charles.wade@colorado.edu>, Robert MacCurdy <maccurdy@colorado.edu>
8
+ License: Copyright © 2025 The Regents of the University of Colorado, a body corporate.
9
+ All Rights Reserved. Contact charles.wade@colorado.edu with any questions or
10
+ comments.
11
+ -------------------------------------------------------------------------------
12
+
13
+ The Program is the property of The Regents of the University of Colorado, a
14
+ body corporate, (CU or the University). CU hereby reserves all rights in the
15
+ Program (defined below) not expressly granted herein. In addition to being
16
+ subject to copyright protection, the use of this Program is covered by a
17
+ pending patent application. Any use, copy, publication, distribution, display,
18
+ modification, or transmission of the Program in whole or in part in any form or
19
+ by any means outside the rights expressly granted in this Notice without the
20
+ written permission of CU is strictly prohibited.
21
+
22
+ The Program consists of the computer software code known as “Systems and
23
+ Processes for Volumetric Multi-Material 3D Models” also known as “OpenVCAD”,
24
+ “VCAD” or similar, and the associated documentation, for making volumetric
25
+ multi-material 3D models.
26
+
27
+ You (the user or recipient of the Program) desire to acquire a license to use
28
+ the Program in accordance with the terms set forth in this Notice.
29
+
30
+ BY DOWNLOADING AND USING THIS PROGRAM, IN WHOLE OR IN PART, YOU AGREE TO COMPLY
31
+ WITH AND BE BOUND BY ALL TERMS IN THIS NOTICE. THE TERMS OF THIS NOTICE ALSO
32
+ APPLY TO ALL YOUR CONTRIBUTIONS (DEFINED BELOW). IN RETURN, THE UNIVERSITY
33
+ AGREES THAT IT SHALL NOT USE YOUR CONTRIBUTIONS IN A WAY THAT THE UNIVERSITY
34
+ BELIEVES IS CONTRARY TO THE PUBLIC BENEFIT. IF YOU DO NOT WISH TO COMPLY WITH
35
+ OR BE BOUND WITH THE TERMS OF THIS NOTICE YOU MUST IMMEDIATELY CEASE USE OF THE
36
+ PROGRAM AND DELETE ALL COPIES OR MODIFICATIONS OF THE PROGRAM COMPLETELY. If
37
+ You agree to these terms on behalf of an organization, You hereby represent to
38
+ CU that You are authorized to accept these terms on its behalf.
39
+
40
+ 1. Definitions:
41
+ “Contributor” means the copyright owner or legal entity authorized by the
42
+ copyright owner of any Contribution (defined below) submitted to the
43
+ University. For legal entities, the entity making a Contribution and all
44
+ other entities that control, are controlled by, or are under common control
45
+ with that entity are considered to be a single Contributor. For the
46
+ purposes of this definition, "control" means (i) the power, direct or
47
+ indirect, to cause the direction or management of such entity, whether by
48
+ contract or otherwise, or (ii) ownership of fifty percent (50%) or more of
49
+ the outstanding shares, or (iii) beneficial ownership of such entity.
50
+
51
+ “Contribution” means any original work of authorship, including any
52
+ modifications or additions to the Program, that is intentionally submitted
53
+ to the University for inclusion in, or documentation of, the Program. For
54
+ the purposes of this definition, “submitted” means any form of electronic,
55
+ verbal, or written communication sent to the University or its
56
+ representatives, including but not limited to communication on electronic
57
+ mailing lists, source code control systems, and issue tracking systems that
58
+ are managed by, or on behalf of, the University for the purpose of
59
+ discussing and improving the Program, but excluding communication that is
60
+ conspicuously marked and designated in writing as “Not a Contribution”.
61
+
62
+ 2. Grant of Copyright License for the Program: Subject to the terms and
63
+ conditions of this Notice, CU hereby grants to You a non-exclusive license
64
+ under CU’s copyright in the Program to use the Program for Your own
65
+ noncommercial academic or personal research.
66
+
67
+ 3. Grant of Patent License for the Program: Subject to the terms and
68
+ conditions of this Notice, CU hereby grants to You a non-exclusive license
69
+ under CU’s patent rights covering the Program to make, have made, use
70
+ import, and otherwise transfer the Program to Your collaborators for Your
71
+ own noncommercial academic or personal research, provided that the
72
+ foregoing patent license is granted under only those patent claims that are
73
+ necessarily infringed by Your Contribution(s). . If You institute patent
74
+ litigation against any third party (including a cross-claim or counterclaim
75
+ in a lawsuit) alleging that the Program or a Contribution incorporated
76
+ within the Program constitutes direct or contributory patent infringement,
77
+ then any patent licenses granted to You under this Notice for the Program
78
+ and Your Contributions shall terminate as of the date such litigation is
79
+ filed.
80
+
81
+ 4. Terms of Use of the Program. You may only use this Program for Your
82
+ noncommercial research and development efforts on behalf of a nonprofit
83
+ organization, or noncommercial research within and on behalf of a nonprofit
84
+ organization, or your own personal noncommercial activities. You may make
85
+ derivative works or modifications to the Programs, but only for Your
86
+ noncommercial research and development efforts within or on behalf of a
87
+ nonprofit academic or research organization, or your own personal
88
+ noncommercial activities. You may not remove or modify the copyright,
89
+ trademarks, or other proprietary notices and disclaimers as they appear in
90
+ the Program. You may distribute or publish the Program or any derivative
91
+ works of the Program made by You, provided that You must limit any further
92
+ use of the Program or derivative works to only noncommercial research and
93
+ development on behalf of a nonprofit academic or research organization, or
94
+ personal noncommercial activities. You shall not use the Program, any
95
+ portion thereof or any derivative works of the Program for any commercial
96
+ purposes. Commercial purposes for the purpose of this Notice include, but
97
+ are not limited to, providing services for others, distributing larger
98
+ programs that contain this Program and exchanging this Program or
99
+ derivative works of the Program in any manner for any form of compensation,
100
+ in-kind or otherwise. To the extent that You publish any results from the
101
+ use of the Program or derivative works of the Program, You must properly
102
+ acknowledge the Program as developed by the Matter Assembly Computation Lab
103
+ at the University of Colorado Boulder, and cite the published reference(s).
104
+ The recommended reference citation(s) for the Program is/are provided in
105
+ the Program documentation. This Notice is limited to the rights of The
106
+ Regents of the University of Colorado in the Program and does not include
107
+ any rights to other intellectual property. Your rights under this Notice
108
+ will terminate immediately and automatically if You fail to comply with any
109
+ of the terms and conditions of this Notice. Immediately upon termination,
110
+ You must cease all use of the Program and any derivative works of the
111
+ Program, destroy all copies of the Program and any derivative works of the
112
+ Program in Your possession or control. Termination of this Notice will not
113
+ limit any of CU’s rights or remedies at law or in equity. You acknowledge
114
+ that the Program is subject to U.S. export jurisdiction. You agree to
115
+ comply with all applicable international and national laws that apply to
116
+ the Program, including the U.S. Export Administration Regulations, as well
117
+ as end-user, end-use, and destination restrictions issued by U.S. and other
118
+ governments. The Program is distributed “as-is”, and CU has no obligation
119
+ to provide any maintenance, updates, additional documentation or services.
120
+
121
+ 5. Grant of Copyright License to Your Contributions. By submitting
122
+ Contributions to CU, Contributor grants to CU a non-exclusive, royalty free
123
+ license under Contributor’s copyright in the Contribution to use, reproduce,
124
+ modify, distribute, transmit, create derivative works from, publicly display
125
+ and publicly perform the Contribution for any purpose. CU may, in its sole
126
+ discretion, include your Contribution when licensing the Program under these or
127
+ any other license terms. To the extent that CU distributes or publishes a
128
+ Contribution or incorporates the Contribution into the Program, CU agrees to
129
+ give appropriate attribution to Contributor as prescribed by Contributor.
130
+ However, nothing in this Notice obligates CU to incorporate any Contribution
131
+ into the Program, and CU may elect not to publish or distribute a Contribution
132
+ in its sole discretion.
133
+
134
+ 6. With respect to any of Your Contributions, You represent that you are legally
135
+ entitled to grant the above license to such Contributions. You represent that
136
+ each of Your Contributions is Your original creation (see Section 8 for
137
+ submissions on behalf of others). You represent that Your Contribution
138
+ submissions include complete details of any third-party license or other
139
+ restriction (including, but not limited to, related patents and trademarks)
140
+ of which You are aware and which are associated with any part of Your
141
+ Contributions. You represent and warrant that You will not submit any
142
+ materials to University that You know or believe to have components that
143
+ are malicious or harmful. You represent that, with regard to all
144
+ representations in Section 6, You will perform a reasonable amount of due
145
+ diligence in order to be properly informed of third party licenses,
146
+ infringing materials or harmful content associated with any part of Your
147
+ Contribution.
148
+
149
+ 7. You are not expected to provide support for Your Contributions, except to
150
+ the extent You desire to provide support. You may provide support for free,
151
+ for a fee, or not at all.
152
+
153
+ 8. Should You wish to submit work that is not Your original creation, You may
154
+ submit it to the University separately from any Contribution, identifying
155
+ the complete details of its source and of any license or other restriction
156
+ (including, but not limited to, related patents, trademarks, and license
157
+ agreements) of which You are personally aware, and conspicuously marking
158
+ the work as "Submitted on behalf of a third-party: [named here]".
159
+
160
+ 9. You agree to notify the University of any facts or circumstances of which
161
+ You become aware that would make Your representations inaccurate in any
162
+ respect. You agree to notify the University of any administrative or court
163
+ proceeding that involve Your Contributions.
164
+
165
+ 10. CU DISCLAIMS, ANY AND ALL OTHER WARRANTIES, CONDITIONS, OR REPRESENTATIONS
166
+ (EXPRESS OR IMPLIED, ORAL OR WRITTEN), WITH RESPECT TO THE PROGRAM OR ANY
167
+ PART THEREOF, INCLUDING ANY AND ALL IMPLIED WARRANTIES OR CONDITIONS OF
168
+ TITLE, NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS OR SUITABILITY FOR ANY
169
+ PURPOSE (WHETHER OR NOT CU KNOWS, HAS REASON TO KNOW, HAS BEEN ADVISED, OR
170
+ IS OTHERWISE IN FACT AWARE OF ANY SUCH PURPOSE), WHETHER ALLEGED TO ARISE
171
+ BY LAW, BY REASON OF CUSTOM OR USAGE IN THE TRADE, OR BY COURSE OF DEALING.
172
+
173
+ 11. You are solely responsible for any and all losses or expenses arising from
174
+ or otherwise in respect of Your use of the Program or derivative works of
175
+ the Program.
176
+
177
+ 12. You agree that this Notice, will be governed and construed in accordance
178
+ with the laws of the State of Colorado.
179
+
180
+ 13. You acknowledge and agree that nothing contained in this Notice shall be
181
+ construed as an express or implied waiver of any immunity of the
182
+ University, either sovereign or governmental under the Colorado
183
+ Governmental Immunity Act.
184
+
185
+ 14. You agree that Your Contribution shall not contain any item(s) that are
186
+ either export-controlled under the International Traffic in Arms
187
+ Regulations, or that appear on the Commerce Control List (except as
188
+ EAR99) of the Export Administration Regulations.
189
+
190
+ 15. The invalidity, illegality, or unenforceability of any one or more phrases,
191
+ sentences, clauses, or sections in this Notice does not affect the remaining
192
+ portions of this Notice.
193
+ License-File: LICENSE
194
+ Keywords: 3D,3D printing,CAD,CSG,geometry,multi-material,volumetric
195
+ Requires-Python: >=3.11
196
+ Requires-Dist: openvcad>=2.2.3
197
+ Requires-Dist: vtk>=9.5.2
198
+ Requires-Dist: wxpython>=4.2.4
199
+ Description-Content-Type: text/markdown
200
+
201
+ # pyvcad-rendering
202
+
203
+ Prototype Python bindings that bring OpenVCAD (`pyvcad`) geometry to a Qt/VTK
204
+ viewport. The library is currently **pre-alpha** and ships with placeholder
205
+ implementations that outline how the viewer will be structured.
206
+
207
+ ## Installation
208
+
209
+ ```bash
210
+ pip install pyvcad-rendering
211
+ ```
212
+
213
+ > **Note**
214
+ > The dependency graph pulls in `pyvcad`, `vtk`, and `PySide6`. These packages
215
+ > can be heavy and may require system-level prerequisites. Please review the
216
+ > upstream projects for platform specific notes.
217
+
218
+ ## Quickstart
219
+
220
+ ```python
221
+ from pyvcad_rendering import Render
222
+
223
+ # Obtain or construct a pyvcad model somewhere in your application
224
+ vcad_shape = build_my_vcad_shape()
225
+
226
+ renderer = Render()
227
+ context = renderer(vcad_shape)
228
+
229
+ # The current scaffold raises NotImplementedError because the VTK scene hookup
230
+ # is pending. Once implemented, a Qt window will appear and stay responsive for
231
+ # as long as the application event loop runs.
232
+ context.app.exec()
233
+ ```
234
+
235
+ ## Project Layout
236
+
237
+ ```
238
+ rendering_v2/
239
+ ├── pyproject.toml
240
+ ├── README.md
241
+ └── src/
242
+ └── pyvcad_rendering/
243
+ ├── __init__.py
244
+ └── render.py
245
+ ```
246
+
247
+ Upcoming work will flesh out dedicated modules for scene translation, Qt/VTK
248
+ widgets, and convenience components for embedding the viewer inside existing
249
+ OpenVCAD tools.
@@ -0,0 +1,49 @@
1
+ # pyvcad-rendering
2
+
3
+ Prototype Python bindings that bring OpenVCAD (`pyvcad`) geometry to a Qt/VTK
4
+ viewport. The library is currently **pre-alpha** and ships with placeholder
5
+ implementations that outline how the viewer will be structured.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ pip install pyvcad-rendering
11
+ ```
12
+
13
+ > **Note**
14
+ > The dependency graph pulls in `pyvcad`, `vtk`, and `PySide6`. These packages
15
+ > can be heavy and may require system-level prerequisites. Please review the
16
+ > upstream projects for platform specific notes.
17
+
18
+ ## Quickstart
19
+
20
+ ```python
21
+ from pyvcad_rendering import Render
22
+
23
+ # Obtain or construct a pyvcad model somewhere in your application
24
+ vcad_shape = build_my_vcad_shape()
25
+
26
+ renderer = Render()
27
+ context = renderer(vcad_shape)
28
+
29
+ # The current scaffold raises NotImplementedError because the VTK scene hookup
30
+ # is pending. Once implemented, a Qt window will appear and stay responsive for
31
+ # as long as the application event loop runs.
32
+ context.app.exec()
33
+ ```
34
+
35
+ ## Project Layout
36
+
37
+ ```
38
+ rendering_v2/
39
+ ├── pyproject.toml
40
+ ├── README.md
41
+ └── src/
42
+ └── pyvcad_rendering/
43
+ ├── __init__.py
44
+ └── render.py
45
+ ```
46
+
47
+ Upcoming work will flesh out dedicated modules for scene translation, Qt/VTK
48
+ widgets, and convenience components for embedding the viewer inside existing
49
+ OpenVCAD tools.
@@ -0,0 +1,32 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.25"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "pyvcad-rendering"
7
+ version = "1.0.0"
8
+ description = "Prototype Qt/VTK renderer for pyvcad models."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = { file = "LICENSE" }
12
+ keywords = ["3D printing", "CAD", "multi-material", "volumetric", "CSG", "geometry", "3D"]
13
+ authors = [{ name = "Charles Wade", email = "charles.wade@colorado.edu" }, { name = "Robert MacCurdy", email = "maccurdy@colorado.edu" }]
14
+ dependencies = [
15
+ "OpenVCAD>=2.2.3",
16
+ "vtk>=9.5.2",
17
+ "wxPython>=4.2.4",
18
+ ]
19
+
20
+ [project.urls]
21
+ "Homepage" = "https://matterassembly.org/openvcad"
22
+ "Documentation" = "https://matterassembly.org/openvcad-developer-dev/"
23
+
24
+ [tool.hatch.build.targets.wheel]
25
+ packages = ["src/pyvcad_rendering"]
26
+
27
+ [tool.hatch.build.targets.sdist]
28
+ include = [
29
+ "/src",
30
+ "/README.md",
31
+ "/pyproject.toml",
32
+ ]
@@ -0,0 +1,2 @@
1
+ from .render import *
2
+ from .export import *
@@ -0,0 +1,13 @@
1
+ from .gcvf_inkjet_ui import GCVFInkjetPanel
2
+ from .gcvf_inkjet_progress_ui import GCVFInkjetProgressPanel
3
+ from .direct_material_inkjet_ui import DirectMaterialInkjetPanel
4
+ from .direct_material_inkjet_progress_ui import DirectMaterialInkjetProgressPanel
5
+ from .color_inkjet_ui import ColorInkjetPanel
6
+ from .myerson_inkjet_ui import MyersonInkjetPanel
7
+ from .myerson_inkjet_progress_ui import MyersonInkjetProgressPanel
8
+ from .meshes_ui import MeshesPanel
9
+ from .meshes_progress_ui import MeshesProgressPanel
10
+ from .finite_element_mesh_ui import FiniteElementMeshPanel
11
+ from .finite_element_mesh_progress_ui import FiniteElementMeshProgressPanel
12
+ from .vat_photo_ui import VatPhotoPanel
13
+ from .vat_photo_progress_ui import VatPhotoProgressPanel
@@ -0,0 +1,9 @@
1
+ import wx
2
+
3
+ class ColorInkjetPanel(wx.Panel):
4
+ def __init__(self, parent):
5
+ super().__init__(parent)
6
+ sizer = wx.BoxSizer(wx.VERTICAL)
7
+ sizer.Add(wx.StaticText(self, label="Color Inkjet (PNG Stack)"), 0, wx.ALL, 5)
8
+ self.SetSizer(sizer)
9
+