xml-enclosed-surface
The xml-enclosed-surface geometry builder builds simple solid geometries.
This builder does not require any data parameters, and will construct the simple solid geometry from existing surface geometries. Thus, before the xml-enclosed-surface geometry builder is deactivated, other geometry builders should have been activated, passing their constructed surfaces to the xml-enclosed-surface geometry builder.
Each of the surfaces passed to the xml-enclosed-surface geometry builder should fully enclose a volume of space. The first surface accepted forms the outer boundary, and subsequent areas accepted form inner voids.
builder type: composite - accepts surface geometries
geometry constructed: simple solid
data parameters:
Data Name |
Value |
Required/Optional |
---|---|---|
demote-incomplete-geometry |
This Boolean parameter determines if incomplete geometry should be demoted instead of producing an error. If set to true, whenever the geometry builder receives no surfaces to create a simple solid from, the simple solid will be downgraded to a null geometry. If set to false, whenever the geometry builder receives no surfaces to create a simple solid from, it will raise an error and terminate the translation. Range: true|false Default: false |
Optional |
coordinate-system |
Specifies the coordinate system name. If the expression sequence for the coordinate-system evaluates to the empty string, then the coordinate system for the feature being built will not be set. Range: String |
Optional |
name |
Specifies the geometry’s name. Range: String |
Optional |
Example: Building a simple solid
simplesolid.xml
<?xml version="1.0"?> <simplesolid> <compositesurface> <simplesurface> <area>0.0,0.0,0.0 0.0,1.0,0.0 1.0,0.0,0.0 0.0,0.0,0.0</area> </simplesurface> <simplesurface> <area>0.0,0.0,0.0 1.0,0.0,0.0 1.0,1.0,1.0 0.0,0.0,0.0</area> </simplesurface> <simplesurface> <area>0.0,0.0,0.0 1.0,1.0,1.0 0.0,1.0,0.0 0.0,0.0,0.0</area> </simplesurface> <simplesurface> <area>1.0,0.0,0.0 0.0,1.0,0.0 1.0,1.0,1.0 1.0,0.0,0.0</area> </simplesurface> </compositesurface> </simplesolid>
simplesolid.xmp
<?xml version="1.0"?> <xfMap> <feature-map> <mapping match="simplesolid"> <feature-type> <literal expr="simplesolid" /> </feature-type> <geometry activate="xml-enclosed-surface" /> </mapping> </feature-map> <feature-content-map> <mapping match="compositesurface"> <geometry activate="xml-composite-surface" /> </mapping> <mapping match="simplesurface"> <geometry activate="xml-face" /> </mapping> <mapping match="area"> <geometry activate="xml-area"> <data name="data-string"> <extract expr="." /> </data> </geometry> </mapping> </feature-content-map> </xfMap>