#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 

# =======================
#  Clark - SNRs N=1 or M1
PO { objName ["M1 - NGC1952","SNR","G184.56-05.79 J053431.92+220036.0","Dist 1.93 kpc"]	objClass	  "SNR"   	subClass	  "Perseus Arm"   	objPosition 	-1.914	-0.153	-0.195	objSize	0.03	0.03	0.03	objColor	1.0 0.0 0.0	objTransparency	0.0	 }

# =======================
#  Clark - Planetary nebula 

PO { objName ["NGC40","PN","G120.02+09.87 J001301.01+723112.0","Dist 1.07 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.527	0.913	0.183	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC246","PN","G118.86-74.71 J004703.12-115212.0","Dist 0.49 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.062	0.113	-0.473	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC650","PN","G130.94-10.51 J014219.92+513412.0","Dist 1.04 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.670	0.772	-0.190	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC651","PN","G130.94-10.51 J014219.92+513412.0","Dist 1.2 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.773	0.891	-0.219	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC1360","PN","G220.36-53.93 J033314.64-255212.0","Dist 0.59 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.265	-0.225	-0.477	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC1501","PN","G144.56+06.55 J040659.04+605512.0","Dist 1.533 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-1.241	0.883	0.175	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC1514","PN","G165.54-15.29 J040916.80+304612.0","Dist 0.734 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.686	0.177	-0.194	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC1535","PN","G206.47-40.56 J041415.60-124348.0","Dist 1.8 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-1.224	-0.609	-1.170	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC2022","PN","G196.68-10.94 J054206.00+090509.6","Dist 1.55 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-1.458	-0.437	-0.294	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["IC2165","PN","G221.32-12.39 J062142.72-125848.0","Dist 2.266 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-1.663	-1.462	-0.486	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC2346","PN","G215.70+03.62 J070921.60-004821.6","Dist 1 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.810	-0.582	0.063	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC2371","PN","G189.16+19.84 J072533.60+292924.0","Dist 1.07 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.994	-0.160	0.363	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC2372","PN","G189.16+19.84 J072533.60+292924.0","Dist 1.07 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.994	-0.160	0.363	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC2392","PN","G197.88+17.40 J072909.60+205436.0","Dist 1.22 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-1.108	-0.357	0.365	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC2438","PN","G231.80+04.12 J074150.40-144348.0","Dist 2 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-1.234	-1.568	0.144	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC2440","PN","G234.83+02.42 J074152.80-181200.0","Dist 1.631 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.939	-1.333	0.069	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC2818","PN","G261.97+08.59 J091600.00-363712.0","Dist 1.967 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.272	-1.926	0.294	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC3132","PN","G272.11+12.40 J100700.00-402548.0","Dist 0.613 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.022	-0.598	0.132	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC3242","PN","G261.05+32.05 J102445.60-183824.0","Dist 0.429 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.057	-0.359	0.228	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC3587","PN","G148.51+57.05 J111445.60+550036.0","Dist 0.797 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.370	0.226	0.669	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC3918","PN","G294.69+04.71 J115016.80-571048.0","Dist 1.385 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.577	-1.254	0.114	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC4361","PN","G294.10+43.63 J122428.80-184648.0","Dist 1.3 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.384	-0.859	0.897	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["IC3568","PN","G123.65+34.54 J123304.80+823336.0","Dist 0.895 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.409	0.614	0.507	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 ["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 ["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 ["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 ["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 ["NGC6543","PN","G096.46+29.96 J175831.20+663748.0","Dist 0.92 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.090	0.792	0.459	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 ["NGC6720","PN","G063.16+13.98 J185333.60+330112.0","Dist 0.71 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.311	0.615	0.172	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC6781","PN","G041.84-02.98 J191826.40+063216.8","Dist 1.566 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.166	1.044	-0.081	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	 }
PO { objName ["NGC6826","PN","G083.56+12.79 J194448.00+503112.0","Dist 0.67 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.073	0.649	0.148	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC6842","PN","G065.90+00.60 J195500.00+291648.0","Dist 2.3 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.939	2.099	0.024	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC6853","PN","G060.83-03.70 J195936.00+224312.0","Dist 0.383 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.186	0.334	-0.025	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC6884","PN","G082.13+07.10 J201021.60+462736.0","Dist 1.733 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.235	1.704	0.214	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC6891","PN","G054.19-12.11 J201507.20+124200.0","Dist 1.766 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	1.011	1.401	-0.371	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC6905","PN","G061.48-09.57 J202221.60+200600.0","Dist 1 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.471	0.866	-0.166	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC7008","PN","G093.41+05.49 J210031.20+543224.0","Dist 1.063 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.063	1.057	0.102	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC7009","PN","G037.76-34.57 J210409.60-112136.0","Dist 0.429 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.279	0.216	-0.243	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC7026","PN","G089.00+00.38 J210616.80+475100.0","Dist 1.896 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.033	1.896	0.012	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC7027","PN","G084.92-03.50 J210700.00+421348.0","Dist 1.446 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.128	1.438	-0.088	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC7048","PN","G088.77-01.68 J211414.40+461648.0","Dist 1.866 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.040	1.865	-0.055	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC7293","PN","G036.17-57.12 J222938.40-204948.0","Dist 0.16 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	0.070	0.051	-0.134	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }
PO { objName ["NGC7662","PN","G106.55-17.60 J232552.80+423148.0","Dist 0.928 kpc	"]	objClass	  "PN"   	subClass	  "Ecliptic"   	objPosition 	-0.252	0.848	-0.281	objSize	0.03	0.03	0.03	objColor	0.0 0.0 1.0	objTransparency	0.0	 }



# END PLOTTED OBJECTS 

