<?xml version="1.0" encoding="utf-8" ?> 
<objectcolorscheme>
	<!--
	Example Right Hemisphere CAD Tools Object Color Scheme file. Please keep for future reference!
	(c) Copyright 2007 Right Hemisphere Ltd.
	Contains a list of rules which match objects to materials.
	The material is taken from the first rule that matches the object; if no rule applies the object is left unchanged.

	Object names are matched using a limited subset of perl regular expressions (regex) as described here.
	In general all characters match themselves (including case) except for these metacharacters:
		.	Matches any character : 12.45 matches 12 followed by any character followed by 45
		^	Matches the start of a string: ^right means the string must start with 'right'
		$	Matches the end of a string: hemisphere$ means the string must end in 'hemisphere'
		[] 	Character Class: matches any character between the brackets: [456] matches '4', '5' or '6'
			Note 1: initial caret ^ reverses match: [^456] matches any character except '4', '5' or '6'
			Note 2: character ranges can be described with a dash: [1-5] matches '1', 2', '3', '4' or '5'
		{}	Treat '{' as a metacharacter for future compatibility; has no special function at this time
		()	Grouping: treats the characters in parentheses as a group for the following operators to apply to:
		?	Quantifier: means the previous character or expression is optional (occurs 0 or 1 times): harbou?r matches 'harbor' or 'harbour'
		*	Quantifier: means the previous character or expression occurs 0 or more times: far.*out matches 'far' and 'out' with any characters in between
		+	Quantifier: means the previous character or expression occurs 1 or more times: vr+m matches 'vrm', 'vrrm', 'vrrrm' and so on
		|	Alternation: Matches one of the characters or expressions either side: (his)|(hers} matches his or hers
			WARNING: Always use parentheses for words as unlike the perl regex standard: his|hers is actually hi[sh]ers
			For future compatibility, always use character classes [] for character alternation
		\	Escape character for inserting the above metacharacters as literals, e.g. '\.' matches period (full stop). Use '\\' to get a backslash!

	XML entities:
	Certain characters have special meanings in XML, and in order to enter them into XML content they must be written as "XML entities".
	XML entities all start with an ampersand and end with a semicolon. The essential character entities are:
		Entity:		Result:
		&lt;		less than symbol
		&gt;		greater than symbol
		&amp;		ampersand
		&apos;		single quote or appostrophe
		&quot;		double quote
	-->
	<rule>
		<!-- Objects whose name begins with 12a or 12A are given a red material -->
		<objectname regex="^12[aA]"/>
		<material name="12A Objects">
			<diffuse red="1.0" green="0.0" blue="0.0"/>
		</material>
	</rule>
	<rule>
		<!-- All objects beginning with 12 and not caught above become yellow -->
		<objectname regex="^12"/>
		<material name="12 Objects">
			<diffuse red="1.0" green="1.0" blue="0.0"/>
		</material>
	</rule>
	<rule>
		<!-- Object name contains an ampersand which must be entered as an XML entity; matching objects become sky blue -->
		<objectname regex="&amp;"/>
		<material name="&amp; Objects">
			<diffuse red="0.5" green="0.8" blue="1.0"/>
		</material>
	</rule>
	<rule>
		<!-- object name ends in space then 'Nut' or 'nut' are changed to bright green -->
		<objectname regex=" [Nn]ut$"/>
		<material name="Space Nut Objects">
			<diffuse red="0.3" green="1.0" blue="0.3"/>
		</material>
	</rule>
	<rule>
		<!-- object names starting in 121, 232 or 300 become purple -->
		<objectname regex="^(232)|(233)|(300)"/>
		<material name="121/232/300 Objects">
			<diffuse red="0.8" green="0.2" blue="0.8"/>
		</material>
	</rule>
	<rule>
		<!-- No objectname element: match all remaining objects and make them gray. If this rule wasn't here, those objects not matched by a rule will be left unchanged -->
		<material name="Remaining Objects">
			<diffuse red="0.5" green="0.5" blue="0.5"/>
		</material>
	</rule>
</objectcolorscheme>
