#VRML V2.0 utf8
# Milky Way Galaxy - Structural schematic

# A data object for use in a 3D data plotting application 
# Kurt A. Fisher fisherka@csolutions.net  beginner level VRML coder
# 2/2006

#  This application was developed for use in triaxial position modeling 
#   of astronomical objects.  Occassional coding and sample references may reflect this bias. 

#	Data for this plot appears at the bottom of file. 
#	Plotting object types follow the Tirion-Cambridge star guide conventions 
#	Imported prototypes for plotting object types are: 
#		SO	General spherical objects 
#		EM	Emission nebula
#		DN	Dark nebula
#		GC	Globular clusters
#		OB_TS    OB Association plotted as translucent sphere
#		OB_WS   OB Association plotted as wireframe sphere
#		DH	Diffuse hydrogen region
#		OC	Open cluster
#		PN	Planetary nebula
#		ST_P	Star plotted as point 
#		ST_S	Star plotted as small sphere (recommended) 
#  		CL	Cloud point point (translucent) 
#		UD	User-defined objects 
#		MG  	    Moving Group 
#		SC  	    Moving Group 

# ======================================= 
# BEGIN PROTOTYPE FOR GENERAL SPHERICAL PLOTTING POINTS 
EXTERNPROTO SO [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#						#     rotation is select x,y,z planes plus rotation in radians 
] "lib_SO_proto.wrl"   
# END PROTOTYPE FOR GENERAL SPHERICAL PLOTTING POINTS 

# Prototypes for astronomical objects 

# BEGIN PROTOTYPE FOR PLANETARY NEBULAE 
EXTERNPROTO PN [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_PN_proto.wrl"   
# END PROTOTYPE FOR PLANETARY NEBULAE 


# BEGIN PROTOTYPE FOR DARK NEBULAE 
EXTERNPROTO DN [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_DN_proto.wrl"   
# END PROTOTYPE FOR DARK NEBULAE 

# BEGIN PROTOTYPE FOR DARK NEBULAE 
EXTERNPROTO EM [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_EM_proto.wrl"   
# END PROTOTYPE FOR EMISSIVE NEBULAE 

# BEGIN PROTOTYPE FOR OPEN CLUSTERS
EXTERNPROTO OC [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_OC_proto.wrl"   
# END PROTOTYPE FOR OPEN CLUSTERS 

# BEGIN PROTOTYPE FOR GLOBULAR CLUSTERS
EXTERNPROTO GC [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_GC_proto.wrl"   
# END PROTOTYPE FOR GLOBULAR CLUSTERS

# BEGIN PROTOTYPE FOR OB ASSOCIATIONS - TRANSLUCENT SPHERE PLOTTING 
EXTERNPROTO OB_TS [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_OB_TS_proto.wrl"   
# END PROTOTYPE FOR OB ASSOCIATIONS - TRANSLUCENT SPHERE PLOTTING 

# BEGIN PROTOTYPE FOR OB ASSOCIATIONS - WIREFRAME SPHERE PLOTTING 
EXTERNPROTO OB_WS [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#
] "lib_astro_OB_WS_proto.wrl"   
# END PROTOTYPE FOR OB ASSOCIATIONS - WIREFRAME SPHERE PLOTTING 

# BEGIN PROTOTYPE FOR DIFFUSE HYDROGREN REGIONS - TRANSLUCENT SPHERE PLOTTING 
EXTERNPROTO DH [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_DH_proto.wrl"   
# END PROTOTYPE FOR DIFFUSE HYDGROGREN REGIONS - TRANSLUCENT SPHERE PLOTTING 

# BEGIN PROTOTYPE FOR SMALL SPHERE PLOTTING 
EXTERNPROTO ST_S [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_ST_S_proto.wrl"   
# END PROTOTYPE FOR STARS -  SMALL SPHERE PLOTTING 

# BEGIN PROTOTYPE FOR STARS -  POINT PLOTTING 
EXTERNPROTO ST_P [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_ST_P_proto.wrl"   
# END PROTOTYPE FOR STARS -  POINT PLOTTING 

# BEGIN PROTOTYPE FOR ARROW PLOTTING OBJECT
EXTERNPROTO AR [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFInt32	PlotType		# Plot type 0=sphere;1=point;2=translucent sphere;3=wiresphere;4=cube;5=arrow;6=nothing
	exposedField SFInt32	BandDecorate 	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot"
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFInt32	BarDecorate	# 0=yes add decoration;1=no decoration
	exposedField SFVec3f	barHeight		#  dimensions of optional uncertainty/vector bar 
						#   x,z as diameter of bar;  y is height ( auto modified to 2 * height  )	
	exposedField SFRotation	barAngle		# direction of optional uncertainty/vector bar in x-y(3d) plane around z axis     
#                                                                                           #     rotation is select x,y,z planes plus rotation in radians 
] "lib_astro_AR_proto.wrl"   
# END PROTOTYPE FOR ARROW PLOTTING OBJECT

# PROTOTYPE FOR PLOTTING COLLECTIONS OF SCATTER POINTS AS ONE OBJECT 
# Prototype for plotting collections of scatter points as one object  
EXTERNPROTO SP [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f 	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFColor	objColor		# obj color
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
	exposedField SFVec3f	lblPosition		# Label position - because of the large object size, the label position is user configurable
	exposedField MFVec3f	pointSet		# a collection of 3-axis point references 
] "lib_SP_proto.wrl" 
# END PROTOTYPE FOR PLOTTING COLLECTIONS OF SCATTER POINTS AS ONE OBJECT 

# BEGIN PROTOTYPE FOR PLOTTING LIGHTWEIGHT CLOUD POINTS -  POINT PLOTTING 
EXTERNPROTO CL [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f 	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFColor	objColor		# obj color
	exposedField SFFloat	objTransparency	# object translucency  
]  "lib_CL_lw_proto.wrl" 

# BEGIN PROTOTYPE FOR PLOTTING LIGHTWEIGHT SPHERE POINTS -  POINT PLOTTING 
EXTERNPROTO PO [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f 	objSize		# size - radii in x,y,z planes - not diameters 
	exposedField SFColor	objColor		# obj color
	exposedField SFFloat	objTransparency	# object translucency  
]  "lib_PO_lw_proto.wrl" 

# ====================================
# Prototype for plotting user-defined shapes in world reference frame 
EXTERNPROTO UD [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f 	objSize		# scale equally to adjust object size to world scale without changing user defined object aspects 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot" syntax   
#						# object color must be set in user defined object 
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFVec3f	lblPosition		# Label position - because of the large object size, the label position is user configurable
#						# object transparency must be set in user defined object 
	exposedField MFString	url_InLine		# relative path to user defined shape 
]   "lib_UD_proto.wrl"

# ====================================
# Prototype for plotting user-defined shapes in world reference frame 
EXTERNPROTO MG [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f 	objSize		# scale equally to adjust object size to world scale without changing user defined object aspects 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot" syntax   
#						# object color must be set in user defined object 
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFVec3f	lblPosition		# Label position - because of the large object size, the label position is user configurable
#						# object transparency must be set in user defined object 
	exposedField MFString	url_InLine		# relative path to user defined shape 
]   "lib_astro_MG_proto.wrl"

# ====================================
# Prototype for plotting user-defined shapes in world reference frame 
EXTERNPROTO SC [ 
	exposedField MFString	objName		# object
	exposedField SFString	objClass		# type of object for EIA sort select
	exposedField SFString	subClass		# subtype of object for EIA sort select
	exposedField SFVec3f	objPosition	# position
	exposedField SFVec3f 	objSize		# scale equally to adjust object size to world scale without changing user defined object aspects 
	exposedField SFRotation	posAngle		# position angle ( z y x rot );  normal plotted space rotations are around y-axis; note rotation form is not normal "x y z rot" syntax   
#						# object color must be set in user defined object 
	exposedField SFInt32	lblType		# label type 0=none; 1=1st strg; 2=2nd strg; 3=3rd strg; 4=all
	exposedField SFFloat	fontSize		# font size
	exposedField SFColor	lblColor		# label color 
#						# Label family, style (bold,italics,etc.) and justify cannot be changed 
#						# See "DEF tmp_lblFontStyleText" for hardcoding of these characteristics  
	exposedField SFVec3f	lblPosition		# Label position - because of the large object size, the label position is user configurable
#						# object transparency must be set in user defined object 
	exposedField MFString	url_InLine		# relative path to user defined shape 
]   "lib_astro_SC_proto.wrl"

# end PROTOTYPES FOR ASTRONOMICAL OBJECTS 

# =======================================
# BEGIN PLOTTED OBJECTS DATA 
# Use example - elements of one plot point explained 
#SO {
#	objName		"NGC 7009"	# name
#	objPosition	1.0 1.0 1.0		# position
#	[ objClass		"Type"		# optional type of object ]
#   	[ subClass        	"SubType"	# optional subtype of object ] 
#   	PlotType           	2                          	# object plotting (translucent sphere)
#	[ posAngle  	0.0 1.0 0.0 2.75  ]	# optional position angle of object 
#	objSize		0.2 0.2 0.2		# size 
#	[  BandDecorate 	1 ]		# optional band decorator (disabled) 
#	fontSize		0.1		# font size 
#	objColor		0.0 0.0 0.0		# object color
#	[ lblColor		0.2 0.9 0.2   ]	# optional label color   
#	[  BarDecorate 	0 ]		# optional bar decorator (disabled) 
#	[ barAngle 	0.0 0.0 1.0 5.489 ] 	#  optional angle of bar decorator rotated in x-y plane around z-axis 
#}

# Objects 

# ===========================================
#  Dame 1987 Schematic Figure - Modified - Black Semi-Transparent			

# First transform orients shape in world 
Transform {
	rotation 1.0 0.0 0.0  1.570796327

children [ 

Transform {
# KEY SETTING - FIGURE SCALE - 4 kpc diameter - 2kpc radius
	scale 2.0, 2.0, 2.0 
#	translation 0, 0, 0 
	rotation 0.0 1.0 0.0  1.570796327

children [ 

# Displays Dames Figure as jpg file in new window
#				DEF FigureLabelA Anchor {
#				              Displays refered page in new browser instance
#					parameter [ "target='_blank'" ]
#      Disabled - feature traps user inside schematic cylinder 
#					url "data_DataSet5Schematic.jpg"
#					children [

Shape {
    appearance Appearance {
        material Material { 
		diffuseColor 0.0 0.0 0.0
#		emissiveColor 0.0 0.0 0.0
		transparency 0.2
	}
        texture ImageTexture {
            url "data_DataSet5Schematic.jpg"
        }
    }
    geometry Cylinder {


# Image subtends approx. 75 degrees 


        radius 1.0
        height 0.94
        top    FALSE
        bottom FALSE
    }
}

#  Disabled
#	] # end anchor children 
# } # end anchor 

	] # end second Transform Image children
} # End second Transform Image


	] # end first Transform Image children
} # End Transform Image


# ===================================
# Enchanced dark nebulae for orientation

# ==========================
# Dark nebula markers for Milky Way Schematic

DN { objName [ "Cygnus Rift"]  objPosition 0.326 0.617 0.056 objSize 0.0725 0.019 0.019	fontSize 0.03  }

DN { objName [ "Aquila Rift"]  objPosition 0.188 0.114 -0.004 objSize 0.02 0.03 0.02 fontSize 0.03  }

DN { objName [ "Vulpecula Rift"]  objPosition 0.209 0.341 0.007 objSize 0.028 0.028 0.028 fontSize 0.03  }

# Mon R2 Molecular Cloud
# x,y,z diameters -0.673064523	-0.453987753	-0.172566703	0.116078508	0.057968477
DN { objName [ 	   "Mon R2 Molecular Cloud"	]	objPosition 	-0.6731 -0.4540 -0.1726	objSize	0.12	0.12	0.06	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }

# Vela Cloud 
# x,y,z diameters 0.041	-0.423	0.019 0.04
DN { objName [ 	   "Vela Cloud"	]	objPosition  0.041 -0.423 0.019	objSize	0.04 0.04 0.04 	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }


# Taurus Molecular Cloud
PO { objName [ 		"LDN1481"	]	objPosition 	-0.13	0.04	-0.01	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.5	 }
PO { objName [ 		"LDN1488"	]	objPosition 	-0.14	0.03	-0.01	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.3	 }
PO { objName [ 		"LDN1495-contains B7 10 209 211 213 216 217 218"	]	objPosition 	-0.13	0.03	-0.04	objSize	0.02	0.02	0.02	objColor	0.2 0.9 0.2	objTransparency	0.8	 }
PO { objName [ 		"LDN1512"	]	objPosition 	-0.14	0.02	-0.01	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	1.0	 }
PO { objName [ 		"LDN1521-contains B14 19 22 220"	]	objPosition 	-0.13	0.02	-0.04	objSize	0.02	0.02	0.02	objColor	0.2 0.9 0.2	objTransparency	0.7	 }
PO { objName [ 		"LDN1523-contains B29"	]	objPosition 	-0.17	0.02	-0.02	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	1.0	 }
PO { objName [ 		"LDN1538"	]	objPosition 	-0.14	0.01	-0.03	objSize	0.02	0.02	0.02	objColor	0.2 0.9 0.2	objTransparency	0.7	 }
PO { objName [ 		"LDN1545"	]	objPosition 	-0.14	0.00	-0.02	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.5	 }
DN { objName [ 		"Taurus Molecular Cloud" "LDN1559"	]	objPosition 	-0.14	-0.01	-0.02	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }

# Orion Molecular Cloud
DN { objName [ 		"Orion Molecular Cloud - B33"	]	objPosition 	-0.37	-0.18	-0.11	objSize	0.07	0.07	0.07	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }

PO { objName [ 		"LDN1647"	]	objPosition 	-0.37	-0.25	-0.16	objSize	0.07	0.07	0.07	objColor	0.2 0.9 0.2	objTransparency	0.5	 }
PO { objName [ 		"LDN1617"	]	objPosition 	-0.45	-0.20	-0.10	objSize	0.10	0.10	0.10	objColor	0.2 0.9 0.2	objTransparency	0.5	 }

# Cepheus Clouds
DN { objName [ 	   "Cepheus Clouds" "LDN1147"	]	objPosition 	-0.06	0.29	0.08	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
PO { objName [ 		"LDN1167"	]	objPosition 	-0.06	0.27	0.07	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.3	 }
PO { objName [ 		"LDN1171"	]	objPosition 	-0.07	0.27	0.07	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.8	 }
PO { objName [ 		"LDN1173"	]	objPosition 	-0.07	0.27	0.07	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.8	 }
PO { objName [ 		"LDN1168"	]	objPosition 	-0.06	0.27	0.07	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.8	 }

# =============================
# rho Ophi Cloud
DN { objName [ 		"rho Oph Cloud - B40"	]	objPosition 	0.15	-0.01	0.06	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
PO { objName ["		rho Oph","*iN","G353.69+17.68 J162536.00-232700.0","Dist 0.12 kpc	"]	objClass	  "*iN"   	subClass	  "Ecliptic"   	objPosition 	0.115	-0.013	0.037	objSize	0.01	0.01	0.01	objColor	0.0 1.0 1.0	objTransparency	0.0	 }
PO { objName [ 		"LDN1696-contains B42"	]	objPosition 	0.15	-0.02	0.05	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	1.0	 }
PO { objName [ 		"LDN121"	]	objPosition 	0.15	0.01	0.06	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.8	 }
PO { objName [ 		"LDN234"	]	objPosition 	0.15	0.02	0.06	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.5	 }
PO { objName [ 		"LDN1681"	]	objPosition 	0.15	-0.02	0.05	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.8	 }
PO { objName [ 		"LDN1719"	]	objPosition 	0.15	-0.01	0.06	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	0.8	 }
PO { objName [ 		"LDN57-contains B68"	]	objPosition 	0.20	0.01	0.02	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	1.0	 }
PO { objName [ 		"LDN66-contains B72"	]	objPosition 	0.20	0.01	0.02	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	1.0	 }
PO { objName [ 		"LDN1709"	]	objPosition 	0.15	-0.01	0.04	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	1.0	 }
PO { objName [ 		"LDN100-contains B62"	]	objPosition 	0.22	0.01	0.04	objSize	0.01	0.01	0.01	objColor	0.2 0.9 0.2	objTransparency	1.0	 }

# =============================
# Great Rift 
# x,y,z offset 200 parsecs from "Vulpecula Rift" objPosition 0.209 0.341 0.007 
#  BILLBOARDING TEXT LABEL FOR "Great Rift " - START lblObj
		DEF lblObjectB Transform {
#                                                                   Position 30 pc above galactic plane
				translation 0.409 0.341 0.03 

#  
#  Since labels are auto-billboarding to face viewer,  there is no need to orient the labels with rotation. 
				children [
# Begin billboarding text label
					Billboard {
						axisOfRotation 0 0 0
# Auto-point the labels to the viewer 
						children [ 
# Begin billboarding shape

#  Start Anchor for referral for more object information 
				DEF BillboardLabelB Anchor {
#				              Displays refered page in new browser instance
#  Pop-up display disabled 		parameter [ "target='_blank'" ]
#					parameter [ "target='_blank'" ]
					children [

							Shape {
							appearance Appearance { 
								material Material { 
								diffuseColor 0.0 0.0 0.0 
								} # end Material 
							}  # end Appearance 
						    	geometry DEF lblName Text {
#     Label string and style are set in initialization script 
								string [ "Great Rift" ]  
								fontStyle DEF lblNameStyle FontStyle { 
									family "SANS"
									style "BOLD"
									justify "CENTER"
									size 0.06
								}  # End of fontStyle 
							}  # End of geometry Text
						}  # End of shape Text Label 

						] # end children
						} # End Anchor	

					]  # End of billboarding children 
					}  # End of billboarding text label
  	
			] # end children of Transform of lblObject 
		}  # end Transform of lblObject 
# END LABEL FOR OBJECT  - Great Rift 



# =============================
# North Sky Structure and Olano's Ring
# x,y,z at l=140 deg -0.995857776	0.64278761	0
#  BILLBOARDING TEXT LABEL FOR "North Sky Structure and Olano's Ring" - START lblObj
		DEF lblObjectA Transform {
#                                                                   Position 30 pc above galactic plane
				translation -0.995857776 0.64278761 0.03 

#  
#  Since labels are auto-billboarding to face viewer,  there is no need to orient the labels with rotation. 
				children [
# Begin billboarding text label
					Billboard {
						axisOfRotation 0 0 0
# Auto-point the labels to the viewer 
						children [ 
# Begin billboarding shape

#  Start Anchor for referral for more object information 
				DEF BillboardLabelA Anchor {
#				              Displays refered page in new browser instance
#  Pop-up display disabled 		parameter [ "target='_blank'" ]
#					parameter [ "target='_blank'" ]
					children [

							Shape {
							appearance Appearance { 
								material Material { 
								diffuseColor 0.0 0.0 0.0 
								} # end Material 
							}  # end Appearance 
						    	geometry DEF lblName Text {
#     Label string and style are set in initialization script 
								string [ "Northern Sky Structure" "Olano's Ring" "Lindblad's -12km/sec clouds" ]  
								fontStyle DEF lblNameStyle FontStyle { 
									family "SANS"
									style "BOLD"
									justify "CENTER"
									size 0.06
								}  # End of fontStyle 
							}  # End of geometry Text
						}  # End of shape Text Label 

						] # end children
						} # End Anchor	

					]  # End of billboarding children 
					}  # End of billboarding text label
  	
			] # end children of Transform of lblObject 
		}  # end Transform of lblObject 
# END LABEL FOR OBJECT  - North Sky Structure and Olano's Ring



# ===============================
# Gould's Belt Label
#  x,y,z at l=180 deg -0.181591693	-0.159086546	0.022944488
#  BILLBOARDING TEXT LABEL FOR "Gould's Belt" - START lblObj
		DEF lblObjectC Transform {
#                                                                   Position 30 pc above galactic plane
				translation -0.181591693 -0.159086546 0.03 

#  
#  Since labels are auto-billboarding to face viewer,  there is no need to orient the labels with rotation. 
				children [
# Begin billboarding text label
					Billboard {
						axisOfRotation 0 0 0
# Auto-point the labels to the viewer 
						children [ 
# Begin billboarding shape

#  Start Anchor for referral for more object information 
				DEF BillboardLabelA Anchor {
#				              Displays refered page in new browser instance
#  Pop-up display disabled 		parameter [ "target='_blank'" ]
#					parameter [ "target='_blank'" ]
					children [

							Shape {
							appearance Appearance { 
								material Material { 
								diffuseColor 0.0 0.0 0.0 
								} # end Material 
							}  # end Appearance 
						    	geometry DEF lblName Text {
#     Label string and style are set in initialization script 
								string [ "Gould's Belt" ]  
								fontStyle DEF lblNameStyle FontStyle { 
									family "SANS"
									style "BOLD"
									justify "CENTER"
									size 0.03
								}  # End of fontStyle 
							}  # End of geometry Text
						}  # End of shape Text Label 

						] # end children
						} # End Anchor	

					]  # End of billboarding children 
					}  # End of billboarding text label
  	
			] # end children of Transform of lblObject 
		}  # end Transform of lblObject 
# END LABEL FOR OBJECT  - Gould's Belt label


# ======================
# Misc map objects - open clusters
OC { objName ["M7","NGC6475 - Cl*","G355.87-04.49 J175348.00-344648.0","Dist 0.301 kpc	"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	0.299	-0.022	-0.024	objSize	0.03	0.03	0.03	fontSize 0.03 lblType 1  BarDecorate 1 }
OC { objName ["NGC884","OpC","G135.02-03.60 J022200.00+570748.0","Dist 2.345 kpc	"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	-1.655	1.654	-0.147	objSize	0.03	0.03	0.03	fontSize 0.03 lblType 1  BarDecorate 1 }


# Individual misc Barnard Clouds 
#     Cep region 
# DN { objName [ 		"Barnard361"	]	objPosition 	0.00	0.45	-0.01	objSize	0.01	0.01	0.01	fontSize 0.01 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard362"	]	objPosition 	-0.01	0.20	0.00	objSize	0.01	0.01	0.01	fontSize 0.01 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard157"	]	objPosition 	-0.04	0.40	0.01	objSize	0.01	0.01	0.01	fontSize 0.01 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
#     Cygnus region
# DN { objName [ 		"Barnard150"	]	objPosition 	-0.05	0.43	0.08	objSize	0.01	0.01	0.01	fontSize 0.01 objClass " " subClass "  "  lblType 1  BarDecorate 1 }





# DN { objName [ 		"Barnard42"	]	objPosition 	0.15	-0.02	0.05	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard40"	]	objPosition 	0.15	-0.01	0.06	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard68"	]	objPosition 	0.20	0.01	0.02	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }

# DN { objName [ 		"Barnard36"	]	objPosition 	-0.37	-0.13	-0.07	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard227"	]	objPosition 	-0.43	-0.08	0.00	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard87"	]	objPosition 	0.30	-0.01	-0.03	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }

# DN { objName [ 		"Barnard255"	]	objPosition 	0.20	0.01	0.03	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard72"	]	objPosition 	0.20	0.01	0.02	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard62"	]	objPosition 	0.22	0.01	0.04	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B210 212 215"	]	objPosition 	-0.13	0.02	-0.04	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B14 19 22 220"	]	objPosition 	-0.13	0.02	-0.04	objSize	0.02	0.02	0.02	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard18"	]	objPosition 	-0.16	0.02	-0.05	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard222"	]	objPosition 	-0.14	0.02	-0.01	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B26 27 28"	]	objPosition 	-0.14	0.02	-0.02	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard24"	]	objPosition 	-0.14	0.02	-0.03	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard29"	]	objPosition 	-0.17	0.02	-0.02	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard23"	]	objPosition 	-0.14	0.02	-0.03	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard219"	]	objPosition 	-0.13	0.02	-0.03	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B7 10 209 211 213 216 217 218"	]	objPosition 	-0.13	0.03	-0.04	objSize	0.02	0.02	0.02	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard92"	]	objPosition 	0.20	0.04	0.00	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard204"	]	objPosition 	-0.22	0.09	-0.09	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard12"	]	objPosition 	-0.16	0.09	0.01	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard5"	]	objPosition 	-0.25	0.09	-0.08	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B205 206"	]	objPosition 	-0.25	0.10	-0.10	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard203"	]	objPosition 	-0.25	0.10	-0.11	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B1 2"	]		objPosition 	-0.31	0.11	-0.11	objSize	0.05	0.05	0.05	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B3 4"	]		objPosition 	-0.31	0.11	-0.11	objSize	0.02	0.02	0.02	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard95"	]	objPosition 	0.38	0.13	0.00	objSize	0.02	0.02	0.02	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard161"	]	objPosition 	-0.02	0.15	0.01	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B106 107 110"	]	objPosition 	0.31	0.17	-0.01	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard129"	]	objPosition 	0.30	0.17	-0.03	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"B117 118"	]	objPosition 	0.36	0.18	-0.03	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard133"	]	objPosition 	0.35	0.19	-0.04	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard134"	]	objPosition 	0.35	0.19	-0.04	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard113"	]	objPosition 	0.35	0.20	-0.01	objSize	0.03	0.03	0.03	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }
# DN { objName [ 		"Barnard335"	]	objPosition 	0.25	0.25	-0.04	objSize	0.01	0.01	0.01	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }

# DN { objName [ 		"Barnard312"	]	objPosition 	1.91	0.59	-0.08	objSize	0.06	0.06	0.06	fontSize 0.03 objClass " " subClass "  "  lblType 1  BarDecorate 1 }


# ===============
# Big Dent 
# Per Cabrera-Cano1995
# Cabrera-Cano1995: Cabrera-Cano, J., Moreno, E. et al. July 1995. The Location of Stellar Clusters in the Big Dent: an Age Gradient along the Z-Axis. 1995ApJ...448..149C

# First transform orients shape in world 
Transform {
#	rotation 0.0 0.0 0.0  1.570796327
#	rotation 0.0 1.0 0.0 -0.300

children [ 


Transform { 
  
# Second transform positions the object and rotates 

#   The Big Dent "It has an elliptical shape with axis sizes of 1.5 and 3 kpc, 
#   reaching a Z value of 200 pc below the formal Galactic plane." 
#    - using radii 
	scale 1.5 0.75 0.200
#   The Big Dent "The most prominent depression, named Big Dent, is apparent 
#   at about 1.8 kpc in an approximately 240-deg direction."
#	translation 0.0 -1.8 -0.2 
        translation -0.900 -1.559 -0.200
 
	rotation 0.0 0.0 1.0 1.570796327


children [ 


Shape {
	appearance Appearance {
		material Material {
	diffuseColor 0.8 0.8 0.8 
	transparency 0.8
		}
	}
    geometry Extrusion {
        creaseAngle 1.57
        endCap FALSE
        solid  FALSE
        crossSection [
# Cross-section - 
# a 30 degree segmented circle 
# x	y
1.000	0.000
0.866	0.500
0.500	0.866
0.000	1.000
-0.500	0.866
-0.866	0.500
-1.000	0.000
-0.866	-0.500
-0.500	-0.866
0.000	-1.000
0.500	-0.866
0.866	-0.500
1.000	0.000
        ] # end cross-section 
spine [
# Truncated sphere spline rising in z plane has the following spline points and scales  
# z plane rising spline - a straight line ending at a truncated sphere 
 # x	y	z			
0.00 ,  0.00 , 	0.000	,	# latitude 90 deg		0
0.00 ,  0.00 , 	0.034	,	# latitude 75 deg		1
0.00 ,  0.00 , 	0.134	,	# latitude 60 deg		2
0.00 ,  0.00 , 	0.293	,	# latitude 45 deg		3
0.00 ,  0.00 , 	0.500	,	# latitude 30 deg		4
0.00 ,  0.00 , 	0.741	,	# latitude 15 deg		5
0.00 ,  0.00 ,	1.000		# latitude 0 deg		6
        ]  # end spline 
# circle scale at this latitude	
# x	y
scale [  
0.000 	0.000	,	# latitude 90 deg		0
0.259 	0.259	,	# latitude 75 deg		1
0.500 	0.500	,	# latitude 60 deg		2
0.707	0.707	,	# latitude 45 deg		3
0.866	0.866	,	# latitude 30 deg		4
0.966	0.966	,	# latitude 15 deg		5
1.000	1.000	,	# latitude 0 deg		6
        ] # end scale 
    }  # end Extrusion 
}  # end Shape 


] # end children - Big Dent second object position transform

} # end transform - Big Dent second object position transform 

] # end children - Big Dent first world transform

} # end transform - Big Dent first world transform 


# ===============================
# Big Dent Label
#  x,y,z at l=240 b=0 1.8kpc -0.900 -1.559 0.000
#  BILLBOARDING TEXT LABEL FOR "Big Dent " - START lblObj
		DEF lblObjectC Transform {
#                                                                   Position 30 pc above galactic plane
				translation -0.900 -1.559 0.03 

#  
#  Since labels are auto-billboarding to face viewer,  there is no need to orient the labels with rotation. 
				children [
# Begin billboarding text label
					Billboard {
						axisOfRotation 0 0 0
# Auto-point the labels to the viewer 
						children [ 
# Begin billboarding shape

#  Start Anchor for referral for more object information 
				DEF BillboardLabelA Anchor {
#				              Displays refered page in new browser instance
#  Pop-up display disabled 		parameter [ "target='_blank'" ]
#					parameter [ "target='_blank'" ]
					children [

							Shape {
							appearance Appearance { 
								material Material { 
								diffuseColor 0.0 0.0 0.0 
								} # end Material 
							}  # end Appearance 
						    	geometry DEF lblName Text {
#     Label string and style are set in initialization script 
								string [ "The Big Dent" "per Cabrera-Cano" ]  
								fontStyle DEF lblNameStyle FontStyle { 
									family "SANS"
									style "BOLD"
									justify "CENTER"
									size 0.06
								}  # End of fontStyle 
							}  # End of geometry Text
						}  # End of shape Text Label 

						] # end children
						} # End Anchor	

					]  # End of billboarding children 
					}  # End of billboarding text label
  	
			] # end children of Transform of lblObject 
		}  # end Transform of lblObject 
# END LABEL FOR OBJECT  - Big Dent


# ==========================
# Anchor for World reference 

# Reference anchor point 
SO { objName ["MWMW_Ref"]			objPosition 	0.0 0.0 0.0		objSize	0.03 0.03 0.03	objColor 1.0 1.0 0.0  	fontSize 0.03	BarDecorate 1  }
# Reference anchor_point surrounding the Earth at the origin of axes - a control object 


# ======================================
# Thin and Thick Disks 
UD {  objName [ "Thin and Thick Disks" "z-plane markers" ]				objPosition  	0.0 0.0 0.0    objSize	1.0  1.0  1.0		fontSize 0.1  	lblPosition -0.250, 0.375, 0.8		url_InLine	[ "data_UD_inline_ThinThickDisksLocal2kpc.wrl" ] 	} 

