#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 

# ===========================================
# Clark Catalogue - Milky Way objects 

# ==================
# Bright nebulae
PO { objName ["NGC281","HII","G123.07-06.31 J005224.96+563336.0","Dist 2.7 kpc"]	objClass	  "HII"   	subClass	  "Perseus Arm"   	objPosition 	-1.464	2.249	-0.297	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC1435","Neb","G166.52-23.81 J034600.00+235548.0","Dist 0.12 kpc"]	objClass	  "Neb"   	subClass	  "None"   	objPosition 	-0.107	0.026	-0.048	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC1499","HII","G160.60-12.05 J040318.00+362512.0","Dist 0.4 kpc"]	objClass	  "HII"   	subClass	  "Orion Arm"   	objPosition 	-0.369	0.130	-0.084	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC1491","HII","G150.61-00.95 J040320.88+511836.0","Dist 2.99 kpc"]	objClass	  "HII"   	subClass	  "Outer Arm"   	objPosition 	-2.605	1.467	-0.049	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC1579","HII","G165.35-09.02 J043009.36+351612.0","Dist 0.7 kpc"]	objClass	  "HII"   	subClass	  "Orion Arm"   	objPosition 	-0.669	0.175	-0.110	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC1788","RNe","G203.52-24.70 J050654.00-032027.6","Dist 1 kpc"]	objClass	  "RNe"   	subClass	  "None"   	objPosition 	-0.833	-0.362	-0.418	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC1976","HII","G209.01-19.38 J053517.28-052327.6","Dist 0.49 kpc"]	objClass	  "HII"   	subClass	  "Orion Arm"   	objPosition 	-0.404	-0.224	-0.163	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC1982","HII","G208.93-19.28 J053530.96-051612.0","Dist 0.49 kpc"]	objClass	  "HII"   	subClass	  "Orion Arm"   	objPosition 	-0.405	-0.224	-0.162	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC1999","HII","G210.41-19.72 J053626.88-064315.6","Dist 0.46 kpc"]	objClass	  "HII"   	subClass	  "Orion Arm"   	objPosition 	-0.373	-0.219	-0.155	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["IC434","HII","G207.00-16.79 J054100.00-023000.0","Dist 0.427 kpc"]	objClass	  "HII"   	subClass	  "Orion Arm"   	objPosition 	-0.364	-0.186	-0.123	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC2023","RNe","G206.85-16.54 J054137.68-021550.4","Dist 0.6 kpc"]	objClass	  "RNe"   	subClass	  "Orion Arm"   	objPosition 	-0.513	-0.260	-0.171	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC2068","RNe","G205.39-14.34 J054646.56+000046.8","Dist 0.49 kpc"]	objClass	  "RNe"   	subClass	  "Orion Arm"   	objPosition 	-0.429	-0.204	-0.121	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC2174","HII","G190.04+00.50 J060942.00+203000.0","Dist 1 kpc"]	objClass	  "HII"   	subClass	  "None"   	objPosition 	-0.985	-0.174	0.009	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC2237","BNe","G206.47-01.64 J063344.88+045952.8","Dist 1.5 kpc"]	objClass	  "BNe"   	subClass	  "Perseus Arm"   	objPosition 	-1.342	-0.668	-0.043	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC2261","RNe","G203.75+01.28 J063909.84+084500.0","Dist 0.767 kpc"]	objClass	  "RNe"   	subClass	  "Orion Arm"   	objPosition 	-0.702	-0.309	0.017	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC2359","HII","G227.76-00.14 J071828.80-131348.0","Dist 6.3 kpc"]	objClass	  "HII"   	subClass	  "Outer Arm"   	objPosition 	-4.235	-4.664	-0.015	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC3372","HII","G287.60-00.85 J104416.80-595248.0","Dist 2.3 kpc"]	objClass	  "HII"   	subClass	  "Sagittarius-Carina Arm"   	objPosition 	0.695	-2.192	-0.034	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC6514","HII","G007.00-00.25 J180221.60-230148.0","Dist 1.595 kpc"]	objClass	  "HII"   	subClass	  "Sagittarius-Carina Arm"   	objPosition 	1.583	0.194	-0.007	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC6729","Neb","G359.92-17.83 J190145.60-365736.0","Dist 0.13 kpc"]	objClass	  "Neb"   	subClass	  "Orion Arm"   	objPosition 	0.124	0.000	-0.040	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC6960","Neb","G073.28-07.63 J204536.00+304200.0","Dist 0.767 kpc"]	objClass	  "Neb"   	subClass	  "Orion Arm"   	objPosition 	0.219	0.728	-0.102	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC6992","sh","G075.51-08.80 J205619.20+314124.0","Dist 0.767 kpc"]	objClass	  "sh"   	subClass	  "Orion Arm"   	objPosition 	0.190	0.734	-0.117	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC7000","HII","G085.50-00.98 J205845.60+441948.0","Dist 0.552 kpc"]	objClass	  "HII"   	subClass	  "Orion Arm"   	objPosition 	0.043	0.550	-0.009	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }
PO { objName ["NGC7635","HII","G112.24+00.22 J232048.00+611200.0","Dist 3.5 kpc"]	objClass	  "HII"   	subClass	  "Perseus Arm"   	objPosition 	-1.324	3.240	0.014	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }

# ==================
# Dark nebulae

PO { objName ["B033","DNe","G206.96-16.77 J054100.00-022736.0","Dist 0.427 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	-0.364	-0.185	-0.123	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["Coalsack","DNe","G300.70-00.96 J123116.80-634424.0","Dist 0.187 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.095	-0.161	-0.003	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["B072","DNe","G001.80+07.16 J172302.40-233336.0","Dist 0.2 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.198	0.006	0.025	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["B072","DNe","G001.80+07.16 J172302.40-233336.0","Dist 0.2 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.198	0.006	0.025	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["B087","DNe","G358.79-05.34 J180416.80-324012.0","Dist 0.3 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.299	-0.006	-0.028	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["B087","DNe","G358.79-05.34 J180416.80-324012.0","Dist 0.3 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.299	-0.006	-0.028	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["B092","DNe","G012.73-00.59 J181531.20-181048.0","Dist 0.2 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.195	0.044	-0.002	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["B092","DNe","G012.73-00.59 J181531.20-181048.0","Dist 0.2 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.195	0.044	-0.002	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["B133","DNe","G028.44-06.40 J190609.60-065400.0","Dist 0.4 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.350	0.189	-0.045	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }
PO { objName ["B133","DNe","G028.44-06.40 J190609.60-065400.0","Dist 0.4 kpc"]	objClass	  "DNe"   	subClass	  "Orion Arm"   	objPosition 	0.350	0.189	-0.045	objSize	0.03	0.03	0.03	objColor	0.0 1.0 0.0	objTransparency	0.0	 }

# END PLOTTED OBJECTS 

