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>