#VRML V2.0 utf8
# Clark Milky Way galaxy objects

# 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 
#}

# ===========================================
#  Background 

#  version x: Default White background 
# DEF DefaultBack Background {
#	skyColor 		[ 1.0 1.0 1.0,  1.0 1.0 1.0,  1.0 1.0 1.0 ]
#	skyAngle 		[ 1.0, 1.0 ]
#	groundColor 		[ 1.0 1.0 1.0,  1.0 1.0 1.0,  1.0 1.0 1.0 ]
#	groundAngle 		[ 1.0, 1.0 ]
#} # End of default background

# Objects 

# ===========================================
# 																

# Earth 
SO { objName ["Sol"]			objPosition 	0.0 0.0 0.0		objSize	0.003 0.003 0.003	objColor 1.0 1.0 0.0  	fontSize 0.010	BarDecorate 1  }
# Earth is origin of axes - a control object 

# BEGIN PLOTTED OBJECTS DATA 

# Objects 
# KEY HARD SETTING - Reposition zero point of galactic arm system to match OrthoSpd.xls positions
UD {  objName [ "" ]				objPosition  	0.2514 0.0 0.0    objSize	1.0  1.0  1.0		fontSize 0.1  lblPosition -0.798, 2.902, 0.120	 url_InLine	[ "data_UD_inline_GouldBeltSpecial.wrl" ] 	} 


# ===========================================
# Selected Bayer and Flamsteed Stars in Constellations N=458 by constellation

PO { objName ["100 Her","*i*","G052.54+20.59 J180750.40+260600.0","Dist 0.07 kpc"]	objClass	  "*i*"   	subClass	  "Her"   	objPosition 	0.040	0.052	0.025	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["102 Her","*i*","G047.41+18.42 J180845.60+204836.0","Dist 0.263 kpc"]	objClass	  "*i*"   	subClass	  "Her"   	objPosition 	0.169	0.184	0.083	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["113 Her","*i*","G053.64+09.42 J185445.60+223900.0","Dist 0.166 kpc"]	objClass	  "*i*"   	subClass	  "Her"   	objPosition 	0.097	0.132	0.027	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["37 Her","*i*","G020.81+30.87 J164038.40+041312.0","Dist 0.092 kpc"]	objClass	  "*i*"   	subClass	  "Her"   	objPosition 	0.075	0.028	0.048	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["52 Her","V*","G071.60+39.96 J164914.40+455848.0","Dist 0.055 kpc"]	objClass	  "V*"   	subClass	  "Her"   	objPosition 	0.013	0.040	0.036	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["68 Her","bL*","G056.40+33.14 J171719.20+330600.0","Dist 0.299 kpc"]	objClass	  "bL*"   	subClass	  "Her"   	objPosition 	0.139	0.209	0.164	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["95 Her","*i*","G047.51+20.28 J180131.20+213600.0","Dist 0.166 kpc"]	objClass	  "*i*"   	subClass	  "Her"   	objPosition 	0.106	0.115	0.058	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["alf01 Her","sr*","G035.53+27.82 J171438.40+142324.0","Dist 0.124 kpc"]	objClass	  "sr*"   	subClass	  "Her"   	objPosition 	0.090	0.064	0.058	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["bet Her","SB*","G039.01+40.22 J163012.00+212924.0","Dist 0.045 kpc"]	objClass	  "SB*"   	subClass	  "Her"   	objPosition 	0.027	0.022	0.029	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["del Her","*i*","G046.83+31.42 J171502.40+245024.0","Dist 0.024 kpc"]	objClass	  "*i*"   	subClass	  "Her"   	objPosition 	0.014	0.015	0.013	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["kap Her","*i*","G031.02+43.64 J160804.80+170300.0","Dist 0.124 kpc"]	objClass	  "*i*"   	subClass	  "Her"   	objPosition 	0.077	0.047	0.086	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["mu. Her","PM*","G052.44+25.63 J174626.40+274312.0","Dist 0.008 kpc"]	objClass	  "PM*"   	subClass	  "Her"   	objPosition 	0.005	0.006	0.004	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["rho Her","*i*","G061.45+32.71 J172340.80+370900.0","Dist 0.124 kpc"]	objClass	  "*i*"   	subClass	  "Her"   	objPosition 	0.050	0.092	0.067	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["tau Her","Pu*","G072.48+45.03 J161945.60+461836.0","Dist 0.1 kpc"]	objClass	  "Pu*"   	subClass	  "Her"   	objPosition 	0.021	0.067	0.071	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["zet Her","SB*","G052.66+40.29 J164116.80+313600.0","Dist 0.01 kpc"]	objClass	  "SB*"   	subClass	  "Her"   	objPosition 	0.005	0.006	0.007	objSize	0.002	0.002	0.002	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["13 Per","V*","G141.16-09.61 J024412.00+491348.0","Dist 0.011 kpc"]	objClass	  "V*"   	subClass	  "Per"   	objPosition 	-0.008	0.007	-0.002	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["56 Per","**","G165.53-10.74 J042438.40+335736.0","Dist 0.041 kpc"]	objClass	  "**"   	subClass	  "Per"   	objPosition 	-0.040	0.010	-0.008	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["6 Per","SB*","G135.86-09.73 J021336.00+510412.0","Dist 0.061 kpc"]	objClass	  "SB*"   	subClass	  "Per"   	objPosition 	-0.043	0.042	-0.010	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["alf Per","V*","G146.57-05.86 J032419.20+495136.0","Dist 0.162 kpc"]	objClass	  "V*"   	subClass	  "Per"   	objPosition 	-0.135	0.089	-0.017	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["bet Per","Al*","G148.97-14.90 J030809.60+405736.0","Dist 0.028 kpc"]	objClass	  "Al*"   	subClass	  "Per"   	objPosition 	-0.024	0.014	-0.007	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["eps Per","bC*","G157.35-10.09 J035750.40+400036.0","Dist 0.166 kpc"]	objClass	  "bC*"   	subClass	  "Per"   	objPosition 	-0.151	0.063	-0.029	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["eta Per","*i*","G139.14-03.17 J025040.80+555400.0","Dist 0.18 kpc"]	objClass	  "*i*"   	subClass	  "Per"   	objPosition 	-0.136	0.118	-0.010	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["gam Per","Al*","G142.07-04.33 J030448.00+533036.0","Dist 0.083 kpc"]	objClass	  "Al*"   	subClass	  "Per"   	objPosition 	-0.065	0.051	-0.006	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["mu. Per","SB*","G153.94-01.83 J041452.80+482436.0","Dist 0.562 kpc"]	objClass	  "SB*"   	subClass	  "Per"   	objPosition 	-0.505	0.247	-0.018	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["tau Per","Al*","G141.02-05.74 J025414.40+524536.0","Dist 0.076 kpc"]	objClass	  "Al*"   	subClass	  "Per"   	objPosition 	-0.059	0.048	-0.008	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["tet Per","V*","G141.16-09.61 J024412.00+491348.0","Dist 0.011 kpc"]	objClass	  "V*"   	subClass	  "Per"   	objPosition 	-0.008	0.007	-0.002	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["zet Per","V*","G162.29-16.69 J035407.20+315248.0","Dist 0.285 kpc"]	objClass	  "V*"   	subClass	  "Per"   	objPosition 	-0.261	0.083	-0.082	objSize	0.002	0.002	0.002	objColor	0.0 0.0 1.0	objTransparency	0.0	 }

# END PLOTTED OBJECTS 

