commit d7eb0526472c2f9bc7aa4a345925908ef2eb5e2f
parent 28713667343fea8841b6fd3fbdb4dab7a13d8161
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 4 Nov 2016 16:04:32 +0100
Update the input fileformat specification
Remove the merge operators, add pivot target and the sun item.
Diffstat:
| M | doc/input | | | 90 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- |
1 file changed, 65 insertions(+), 25 deletions(-)
diff --git a/doc/input b/doc/input
@@ -14,6 +14,10 @@
- object: &cylinder
cylinder: { height: 5, radius: 0.5 }
material: *lambertian
+- object: &cylinder2
+ cylinder: { height: 5, radius: 0.5 }
+ material: *lambertian
+ transform: { position: [2.5, 11, 0], rotation: [90, 0, 0] }
- object: ¶bol
material: *mirror
parabol:
@@ -29,9 +33,7 @@
- node: &heliostat0
transform: { rotation: [0, 0, 0], position: [0, 0, 0] }
entities:
- - object:
- <<: *cylinder
- transform: { position: [0, 5, 0], rotation: [90, 0, 0] }
+ - object: *cylinder
children:
- node:
transform: { rotation: [0, 0, 0], position: [0, 0, 0] }
@@ -40,35 +42,30 @@
children:
- node:
entities:
- - object:
- << : *cylinder
- transform: { position: [2.5, 12, 0], rotation: [90, 0, 0] }
- - object:
- << : *cylinder
- transform: { position: [2.5, 11, 0], rotation: [90, 0, 0] }
+ - object: *cylinder
+ - object: *cylinder2
children:
- node:
transform: { position: [2.5, 11, 0], rotation: [90, 0, 0] }
entities:
- - object:
- << : *parabol
+ - object: *parabol
# Create the solar factory
- spawn:
transform: { position: [0, 0, 0] }
- << : *heliostat0
+ node : *heliostat0
- spawn:
transform: { position: [0, 0, 10] }
- << : *heliostat0
+ node : *heliostat0
- spawn:
transform: { position: [0, 0, 20] }
- << : *heliostat0
+ node : *heliostat0
- spawn:
transform: { position: [0, 0, 30] }
- << : *heliostat0
+ node : *heliostat0
- spawn:
transform: { position: [0, 0, -10] }
- << : *house
+ object : *house
--------------------------------------------------------------------------------
2/ Grammar
@@ -85,6 +82,7 @@
| <material>
| <node>
| <spawn>
+ | <sun>
----------------------------------------
<entity> ::=
@@ -98,10 +96,17 @@
<pivot> ::=
pivot:
- point: <float3>
- normal: <float3>
+ point: <real3>
+ normal: <real3>
+ <target>
[ <transform> ]
+<target> ::=
+ target:
+ position: <real3>
+ | direction: <real3>
+ | <sun>
+
----------------------------------------
<shape> ::=
<cube>
@@ -160,10 +165,10 @@
vertices: <vertices-list>
<vertices-list> ::=
- - <float3>
- - <float3>
- - <float3>
-[ - <float3> ... ]
+ - <real3>
+ - <real3>
+ - <real3>
+[ - <real3> ... ]
----------------------------------------
<material> ::=
@@ -203,6 +208,32 @@
[ - <node> ... ]
----------------------------------------
+<sun> ::=
+ <directional>
+ | <pillbox>
+ | <buie>
+
+<directional> ::=
+ directional:
+ direction: <real3>
+ dni: REAL
+ <spectrum>
+
+<pillbox> ::=
+ pillbox:
+ direction: <real3>
+ dni: REAL
+ aperture: REAL
+ <spectrum>
+
+<buie> ::=
+ buie:
+ direction: <real3>
+ dni: REAL
+ param: REAL
+ <spectrum>
+
+----------------------------------------
spawn:
<node> | <object>
[ <transform> ]
@@ -210,11 +241,20 @@ spawn:
----------------------------------------
<transform> ::=
transform:
- position: <float3>
- rotation: <float3>
+ position: <real3>
+ rotation: <real3>
-<float3> ::=
+<real3> ::=
- REAL
- REAL
- REAL
+<spectrum> ::=
+ spectrum:
+ - <spectrum-data>
+[ - <spectrum-data> ... ]
+
+<spectrum-data> ::=
+ - REAL # wavelength
+ - REAL # itensity
+