commit c54ea0372646558ff7054a292a4c157f1825fef8
parent 0c322f65c5cc20913ee329ee85adff5ff9b85215
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 16 Nov 2016 10:06:15 +0100
Update the input fileformat specification
Diffstat:
| M | doc/input | | | 66 | ++++++++++++++++++++++++++++++++++++++++++++++-------------------- |
1 file changed, 46 insertions(+), 20 deletions(-)
diff --git a/doc/input b/doc/input
@@ -3,21 +3,27 @@
--------------------------------------------------------------------------------
# Declare materials
- material: &lambertian
- matte: { reflectivtivity: 1 }
+ matte: { reflectivity: 1 }
- material: &mirror
- mirror: { reflectivtivity: 1, roughness: 0 }
+ mirror: { reflectivity: 1, roughness: 0 }
# Declare entities
- object: &house
stl: { path: "house.stl" }
material: *lambertian
+
- object: &cylinder
cylinder: { height: 5, radius: 0.5 }
material: *lambertian
+
- object: &cylinder2
+ name: cylinder2
cylinder: { height: 5, radius: 0.5 }
material: *lambertian
transform: { translation: [2.5, 11, 0], rotation: [90, 0, 0] }
+ anchors:
+ - { name: anchor0, position: [1, 2, 3] }
+ - { name: anchor1, position: [4, 5, 6] }
- object: ¶bol
material: *mirror
parabol:
@@ -25,33 +31,37 @@
clip:
- operation: SUB
vertices: [ [1, 2, 3], [3, 4, 5], [6, 7, 8] ]
-- pivot: &my_pivot
- point: [0, 0, 0]
- normal: [0, 1, 0]
+
+- instance:
+ name: "inst"
+ object: *cylinder2
# Declare a composition
- node: &heliostat0
transform: { rotation: [0, 0, 0], translation: [0, 0, 0] }
- entities:
+ geometries:
- object: *cylinder
children:
- node:
transform: { rotation: [0, 0, 0], translation: [0, 0, 0] }
- entities:
- - pivot: *my_pivot
+ pivot:
+ point: [0, 0, 0]
+ normal: [0, 1, 0]
+ target: { alias: self.cylinder2.anchor0 }
children:
- node:
- entities:
+ geometries:
- object: *cylinder
- object: *cylinder2
children:
- node:
transform: { translation: [2.5, 11, 0], rotation: [90, 0, 0] }
- entities:
+ geometries:
- object: *parabol
# Create the solar factory
- instance:
+ name: "inst"
transform: { translation: [0, 0, 0] }
node : *heliostat0
- instance:
@@ -78,21 +88,20 @@
[ - <item> ... ]
<items> ::=
- <entity>
+ <object>
| <material>
| <node>
| <instance>
| <sun>
----------------------------------------
-<entity> ::=
- <object> | <pivot>
-
<object> ::=
object:
<shape>
<material>
+[ <identifier> ]
[ <transform> ]
+[ <anchors> ]
<pivot> ::=
pivot:
@@ -101,9 +110,19 @@
<target>
[ <transform> ]
+<anchors> ::=
+ anchors:
+ - <anchor>
+[ - <anchor> ... ]
+
+<anchor> ::=
+ <identifier>
+ position: <real3>
+
<target> ::=
target:
- position: <real3>
+ alias: <anchor-identifier>
+ | position: <real3>
| direction: <real3>
| <sun>
@@ -193,14 +212,14 @@
----------------------------------------
<node> ::=
node:
- <entities>
+ <geometries> | <pivot>
[ <transform> ]
[ <children> ]
<entities> ::=
- entities:
- - <entity>
-[ - <entity> ... ]
+ geometries:
+ - <object>
+[ - <object> ... ]
<children> ::=
children:
@@ -228,6 +247,7 @@
----------------------------------------
instance:
<node> | <object>
+[ <identifier> ]
[ <transform> ]
----------------------------------------
@@ -248,5 +268,11 @@ instance:
<spectrum-data> ::=
wavelength: REAL
- data: REAL
+ data: REAL
+
+<identifier> ::=
+ name: STRING
+
+<anchor-identifier> ::=
+ "<identifier>.<identifier>.<identifier>"