Skip to content

Commit 60e7a56

Browse files
committed
added config to rasterizer for e.g. toggling label generation
1 parent d3afa4d commit 60e7a56

2 files changed

Lines changed: 34 additions & 16 deletions

File tree

config.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package rasterizer
2+
3+
type RasterizerConfig struct {
4+
RenderLabels bool
5+
Rotation Rotation
6+
}

rasterizer.go

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)