@@ -93,7 +93,7 @@ func drawMeshUpdateBB(mesh MeshTypes.Mesh, canvas *Canvas, color color.NRGBA, bb
9393 }
9494}
9595
96- func drawStageModel (mesh * MVRTypes.StageModel , canvas * Canvas ) {
96+ func drawStageModel (mesh * MVRTypes.StageModel , canvas * Canvas , config RasterizerConfig ) {
9797 for _ , obj := range mesh .SceneObjectModels {
9898 for _ , part := range obj .MeshModel {
9999 drawMesh (part .Mesh , canvas , colors [part .GeometryType ]) // TODO: obj type specific colors
@@ -103,26 +103,38 @@ func drawStageModel(mesh *MVRTypes.StageModel, canvas *Canvas) {
103103 }
104104 }
105105
106- for _ , fixture := range mesh .FixtureModels {
107- bb := boundingBox {}
108- bb .init ()
106+ if config .RenderLabels {
107+ for _ , fixture := range mesh .FixtureModels {
108+ bb := boundingBox {}
109+ bb .init ()
109110
110- for _ , part := range fixture .MeshModel {
111- bb , _ = drawMeshUpdateBB (part .Mesh , canvas , colors [part .GeometryType ], bb )
112- }
111+ for _ , part := range fixture .MeshModel {
112+ bb , _ = drawMeshUpdateBB (part .Mesh , canvas , colors [part .GeometryType ], bb )
113+ }
113114
114- canvas .fixture_labels = append (
115- canvas .fixture_labels ,
116- fixtureLabel {fixture : fixture .Fixture , fixture_bounding_box : bb },
117- )
115+ canvas .fixture_labels = append (
116+ canvas .fixture_labels ,
117+ fixtureLabel {fixture : fixture .Fixture , fixture_bounding_box : bb },
118+ )
118119
119- for _ , geometry := range fixture .Geometries {
120- drawMesh (geometry , canvas , color.NRGBA {100 , 100 , 100 , 255 })
120+ for _ , geometry := range fixture .Geometries {
121+ drawMesh (geometry , canvas , color.NRGBA {100 , 100 , 100 , 255 })
122+ }
123+ }
124+ } else {
125+ for _ , fixture := range mesh .FixtureModels {
126+ for _ , part := range fixture .MeshModel {
127+ drawMesh (part .Mesh , canvas , colors [part .GeometryType ])
128+ }
129+
130+ for _ , geometry := range fixture .Geometries {
131+ drawMesh (geometry , canvas , color.NRGBA {100 , 100 , 100 , 255 })
132+ }
121133 }
122134 }
123135}
124136
125- func Draw (mesh * MVRTypes.StageModel , rotation Rotation , filename string ) (* Canvas , error ) {
137+ func Draw (mesh * MVRTypes.StageModel , config RasterizerConfig ) (* Canvas , error ) {
126138 const width = 4000
127139 const height = 3000
128140
@@ -133,9 +145,9 @@ func Draw(mesh *MVRTypes.StageModel, rotation Rotation, filename string) (*Canva
133145 return nil , err
134146 }
135147
136- normalizeAndRotateStageModel (canvas , mesh , rotation )
148+ normalizeAndRotateStageModel (canvas , mesh , config . Rotation )
137149
138- drawStageModel (mesh , canvas )
150+ drawStageModel (mesh , canvas , config )
139151
140152 err = drawFixtureLabels (canvas )
141153
0 commit comments