@@ -90,6 +90,16 @@ func drawStageModel(mesh *MVRTypes.StageModel, canvas *Canvas, config Rasterizer
9090 }
9191 }
9292
93+ for _ , obj := range mesh .FocusPointModels {
94+ geometry_color , err := colors .getGeometriesColor (ModelTypeFocusPoint )
95+ if err != nil {
96+ return fmt .Errorf ("Could not draw stage model: %s" , err )
97+ }
98+ for _ , geometry := range obj .Geometries {
99+ drawMesh (geometry , canvas , geometry_color )
100+ }
101+ }
102+
93103 if config .RenderLabels {
94104 for _ , fixture := range mesh .FixtureModels {
95105 bb := boundingBox {}
@@ -135,6 +145,75 @@ func drawStageModel(mesh *MVRTypes.StageModel, canvas *Canvas, config Rasterizer
135145 }
136146 }
137147 }
148+
149+ for _ , obj := range mesh .SupportModels {
150+ for _ , part := range obj .MeshModel {
151+ color , err := colors .getColor (ModelTypeSupport , part .GeometryType )
152+ if err != nil {
153+ return fmt .Errorf ("Could not draw stage model: %s" , err )
154+ }
155+ drawMesh (part .Mesh , canvas , color )
156+ }
157+ geometry_color , err := colors .getGeometriesColor (ModelTypeSupport )
158+ if err != nil {
159+ return fmt .Errorf ("Could not draw stage model: %s" , err )
160+ }
161+ for _ , geometry := range obj .Geometries {
162+ drawMesh (geometry , canvas , geometry_color )
163+ }
164+ }
165+
166+ for _ , obj := range mesh .TrussModels {
167+ for _ , part := range obj .MeshModel {
168+ color , err := colors .getColor (ModelTypeTruss , part .GeometryType )
169+ if err != nil {
170+ return fmt .Errorf ("Could not draw stage model: %s" , err )
171+ }
172+ drawMesh (part .Mesh , canvas , color )
173+ }
174+ geometry_color , err := colors .getGeometriesColor (ModelTypeTruss )
175+ if err != nil {
176+ return fmt .Errorf ("Could not draw stage model: %s" , err )
177+ }
178+ for _ , geometry := range obj .Geometries {
179+ drawMesh (geometry , canvas , geometry_color )
180+ }
181+ }
182+
183+ for _ , obj := range mesh .VideoScreenModels {
184+ for _ , part := range obj .MeshModel {
185+ color , err := colors .getColor (ModelTypeVideoScreen , part .GeometryType )
186+ if err != nil {
187+ return fmt .Errorf ("Could not draw stage model: %s" , err )
188+ }
189+ drawMesh (part .Mesh , canvas , color )
190+ }
191+ geometry_color , err := colors .getGeometriesColor (ModelTypeVideoScreen )
192+ if err != nil {
193+ return fmt .Errorf ("Could not draw stage model: %s" , err )
194+ }
195+ for _ , geometry := range obj .Geometries {
196+ drawMesh (geometry , canvas , geometry_color )
197+ }
198+ }
199+
200+ for _ , obj := range mesh .ProjectorModels {
201+ for _ , part := range obj .MeshModel {
202+ color , err := colors .getColor (ModelTypeProjector , part .GeometryType )
203+ if err != nil {
204+ return fmt .Errorf ("Could not draw stage model: %s" , err )
205+ }
206+ drawMesh (part .Mesh , canvas , color )
207+ }
208+ geometry_color , err := colors .getGeometriesColor (ModelTypeProjector )
209+ if err != nil {
210+ return fmt .Errorf ("Could not draw stage model: %s" , err )
211+ }
212+ for _ , geometry := range obj .Geometries {
213+ drawMesh (geometry , canvas , geometry_color )
214+ }
215+ }
216+
138217 return nil
139218}
140219
0 commit comments