Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
CityDoctor2
Commits
de0fb85d
Commit
de0fb85d
authored
Jun 19, 2026
by
Matthias Betz
Browse files
Add SceneData container for built scene buffers
parent
8ef604ae
Changes
2
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/gl/SceneData.java
0 → 100644
View file @
de0fb85d
package
de.hft.stuttgart.citydoctor2.gui.gl
;
import
java.util.List
;
/** Immutable CPU-side result of building the scene; uploaded to the GPU by the GL layer. */
public
class
SceneData
{
private
final
float
[]
positions
;
private
final
float
[]
colors
;
private
final
int
[]
ids
;
private
final
List
<
TriangleMeta
>
triangleMetas
;
private
final
PickRegistry
pickRegistry
;
private
final
double
[]
center
;
public
SceneData
(
float
[]
positions
,
float
[]
colors
,
int
[]
ids
,
List
<
TriangleMeta
>
triangleMetas
,
PickRegistry
pickRegistry
,
double
[]
center
)
{
this
.
positions
=
positions
;
this
.
colors
=
colors
;
this
.
ids
=
ids
;
this
.
triangleMetas
=
triangleMetas
;
this
.
pickRegistry
=
pickRegistry
;
this
.
center
=
center
;
}
public
float
[]
positions
()
{
return
positions
;
}
public
float
[]
colors
()
{
return
colors
;
}
public
int
[]
ids
()
{
return
ids
;
}
public
List
<
TriangleMeta
>
triangleMetas
()
{
return
triangleMetas
;
}
public
PickRegistry
pickRegistry
()
{
return
pickRegistry
;
}
public
double
[]
center
()
{
return
center
;
}
public
int
triangleCount
()
{
return
triangleMetas
.
size
();
}
}
CityDoctorParent/Extensions/CityDoctorGUI/src/test/java/de/hft/stuttgart/citydoctor2/gui/gl/SceneDataTest.java
0 → 100644
View file @
de0fb85d
package
de.hft.stuttgart.citydoctor2.gui.gl
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertSame
;
import
java.util.List
;
import
org.junit.Test
;
public
class
SceneDataTest
{
@Test
public
void
exposesItsBuffersAndRegistry
()
{
float
[]
pos
=
{
0
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
0
};
float
[]
col
=
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
};
int
[]
ids
=
{
1
,
1
,
1
};
PickRegistry
reg
=
new
PickRegistry
();
List
<
TriangleMeta
>
metas
=
List
.
of
(
new
TriangleMeta
(
0
,
null
,
2
,
false
));
SceneData
data
=
new
SceneData
(
pos
,
col
,
ids
,
metas
,
reg
,
new
double
[]{
5
,
6
,
7
});
assertSame
(
pos
,
data
.
positions
());
assertEquals
(
1
,
data
.
triangleMetas
().
size
());
assertEquals
(
6.0
,
data
.
center
()[
1
],
0.0
);
assertSame
(
reg
,
data
.
pickRegistry
());
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment