#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.02 0.02 0.02	objColor 1.0 1.0 0.0  	fontSize 0.03	BarDecorate 1  }
# Earth is origin of axes - a control object 

# BEGIN PLOTTED OBJECTS DATA 
# Sag-Carina Clark Arm objects

PO { objName [ "NGC3372","HII","G287.60-00.85 J104416.80-595248.0","Dist 2.3 kpc"]	objClass	  "HII"   	subClass	  "Ecliptic"   	objPosition 	0.695	-2.192	-0.034	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC4349","Cl*","G299.73+00.84 J122412.00-615136.0","Dist 2.176 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	1.079	-1.889	0.032	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC4755","OpC","G303.21+02.51 J125340.80-602136.0","Dist 1.976 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.081	-1.652	0.087	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC5189","PN","G307.20-03.45 J133331.20-655812.0","Dist 1.266 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.764	-1.007	-0.076	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC5617","Cl*","G314.68-00.10 J142948.00-604236.0","Dist 1.533 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	1.078	-1.090	-0.003	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC5823","OpC","G321.14+02.43 J150543.20-553712.0","Dist 1.192 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	0.927	-0.747	0.051	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6067","OpC","G329.75-02.20 J161312.00-541236.0","Dist 1.417 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.223	-0.713	-0.054	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6153","PN","G341.84+05.45 J163128.80-401500.0","Dist 1.7 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.608	-0.527	0.161	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6192","OpC","G340.65+02.12 J164024.00-432136.0","Dist 1.547 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.459	-0.512	0.057	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6193","Cl*","G336.72-01.58 J164124.00-484536.0","Dist 1.155 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	1.061	-0.456	-0.032	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6210","PN","G043.10+37.76 J164428.80+234724.0","Dist 2.31 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.334	1.248	1.415	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6231","OpC","G343.46+01.19 J165407.20-414912.0","Dist 1.243 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.191	-0.354	0.026	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6259","Cl*","G341.99-01.51 J170040.80-443936.0","Dist 1.031 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	0.980	-0.319	-0.027	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6302","PN","G349.51+01.06 J171343.20-370600.0","Dist 1.595 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.568	-0.290	0.030	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6318","Cl*","G348.09-00.98 J171757.60-392624.0","Dist 2.3 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	2.250	-0.475	-0.039	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6337","PN","G349.35-01.11 J172214.40-382848.0","Dist 1.373 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.350	-0.254	-0.027	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6369","PN","G002.44+05.86 J172919.20-234500.0","Dist 1.75 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.739	0.074	0.179	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6445","PN","G008.08+03.91 J174914.40-200000.0","Dist 2.25 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	2.222	0.316	0.154	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6451","OpC","G359.48-01.60 J175040.80-301236.0","Dist 2.08 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	2.079	-0.019	-0.058	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6514","HII","G007.00-00.25 J180221.60-230148.0","Dist 1.595 kpc"]	objClass	  "HII"   	subClass	  "Ecliptic"   	objPosition 	1.583	0.194	-0.007	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6523","Cl*","G005.92-01.08 J180312.00-242248.0","Dist 1.595 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	1.586	0.164	-0.030	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6520","Cl*","G002.89-02.84 J180324.00-275248.0","Dist 1.577 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	1.573	0.079	-0.078	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6531","OpC","G007.68-00.35 J180412.00-222848.0","Dist 1.205 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.194	0.161	-0.007	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6530","Cl*","G006.08-01.33 J180428.80-242136.0","Dist 1.33 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	1.322	0.141	-0.031	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6611","OpC","G016.95+00.79 J181848.00-134836.0","Dist 1.749 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.673	0.510	0.024	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6613","OpC","G014.19-01.02 J182000.00-170600.0","Dist 1.296 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.256	0.318	-0.023	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6618","OpC","G015.05-00.66 J182024.00-161012.0","Dist 1.3 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.255	0.338	-0.015	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6629","PN","G009.41-05.04 J182540.80-231200.0","Dist 1.666 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.638	0.271	-0.146	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6649","OpC","G021.64-00.79 J183328.80-102400.0","Dist 1.369 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.272	0.505	-0.019	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6664","OpC","G023.94-00.49 J183640.80-081257.6","Dist 1.164 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.064	0.472	-0.010	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6694","OpC","G023.88-02.91 J184516.80-092258.8","Dist 1.6 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.461	0.647	-0.081	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6705","OpC","G027.30-02.76 J185100.00-061557.6","Dist 1.877 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.666	0.860	-0.090	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6709","OpC","G042.11+04.72 J185116.80+101836.0","Dist 1.075 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	0.795	0.718	0.088	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6755","OpC","G038.57-01.70 J190748.00+041358.8","Dist 1.421 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.111	0.885	-0.042	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6756","OpC","G039.07-01.69 J190840.80+044058.8","Dist 1.507 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	1.170	0.949	-0.044	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6823","Cl*","G059.39-00.15 J194309.60+231724.0","Dist 1.893 kpc"]	objClass	  "Cl*"   	subClass	  "Ecliptic"   	objPosition 	0.964	1.629	-0.005	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6818","PN","G025.86-17.91 J194357.60-140900.0","Dist 2.2 kpc"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.884	0.913	-0.677	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }

# Scutum-Crux Arm Objects
PO { objName [ "NGC6540","GlC","G003.29-03.31 J180607.20-274536.0","Dist 3.5 kpc"]	objClass	  "GlC"   	subClass	  "Ecliptic"   	objPosition 	3.488	0.200	-0.202	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "M24","OpC","G012.84-01.31 J181824.00-182548.0","Dist 3.07 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	2.993	0.682	-0.070	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName [ "NGC6603","OpC","G012.84-01.31 J181824.00-182548.0","Dist 3.6 kpc"]	objClass	  "OpC"   	subClass	  "Ecliptic"   	objPosition 	3.509	0.800	-0.082	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }



# END OF PLOTTED OBJECTS

