#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 

#===========================================
# PN Data

PN { objName [ "M1","v8.4size:360 MPAS: rvUnkwn","J053430+220057 G184.55-05.79 NGC1952"]	objPosition 	-0.1419	-0.0113	-0.0145	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6629","v9.9size:15.5 MPAS: rv+13","J182542-231210 G009.41-05.05 AAVSO1819-23B"]	objPosition 	+1.6378	+0.2713	-0.1467	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6309","v11.6size:15.5 MPAS: rv-40","J171404-125436 G009.65+14.82 HD155752"]	objPosition 	+2.1994	+0.3741	+0.5900	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6537","v12.6size:10 MPAS: rv-17.3","J180513-195034 G010.10+00.74 HD312582"]	objPosition 	+1.9196	+0.3418	+0.0251	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "IC4593","v10.9size:13 MPAS: rv+22.0","J161144+120417 G025.33+40.84 HD145649"]	objPosition 	+0.5812	+0.2751	+0.5558	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6818","v10.0size:20 MPAS:16.6 rv-13.8","J194354-140822 G025.87-17.89 NGC6818"]	objPosition 	+1.8838	+0.9133	-0.6759	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6751","v12.5size:20.5 MPAS: rv-43.0","J190556-055928 G029.23-05.94 HD177656"]	objPosition 	+1.2585	+0.7042	-0.1502	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6741","v10.8size:8 MPAS: rv+42.9","J190236-002647 G034.60-02.28 HD176946"]	objPosition 	+1.3570	+0.9362	-0.0657	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6572","v9.0size:10.8 MPAS: rv-8.7","J181206+065026 G034.61+11.84 HD166802"]	objPosition 	+0.6900	+0.4762	+0.1758	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC7293","v7.3size:980 MPAS:20.8 rv-15.0","J222936-204800 G036.22-57.10 C63"]	objPosition 	+0.0832	+0.0609	-0.1596	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC7009","v8.3size:28.5 MPAS:14.6 rv-46.6","J210412-112200 G037.76-34.58 C55"]	objPosition 	+0.6274	+0.4860	-0.5471	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6790","v10.2size:7 MPAS: rv+41.8","J192257+013047 G037.89-06.31 HD182083"]	objPosition 	+0.9804	+0.7631	-0.1374	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6781","v11.8size:108 MPAS:22.3 rv+4.3","J191829+063218 G041.84-02.99 PK041-02 1"]	objPosition 	+1.1655	+1.0436	-0.0818	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6210","v10.2size:16.2 MPAS:15.7 rv-4.0","J164429+234800 G043.11+37.76 HD151121"]	objPosition 	+1.3332	+1.2479	+1.4145	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6804","v12.2size:35 MPAS:12.0 rv-4.0","J193135+091331 G045.75-04.59 HD183932"]	objPosition 	+1.0607	+1.0888	-0.1221	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6803","v11.3size:5.5 MPAS: rv+12.9","J193117+100322 G046.45-04.13 HD183889"]	objPosition 	+1.3057	+1.3733	-0.1368	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "Abell62","v14.7size:161 MPAS:16.8 rv+12.9","J193418+103719 G047.30-04.51 PK047-04 1"]	objPosition 	+0.5178	+0.5612	-0.0603	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "Henitz2-441","v12.6size:8 MPAS: rv-6.0","J193910+155648 G052.54-02.96 Me1-1"]	objPosition 	+2.1544	+2.8119	-0.1833	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6891","v12.4size:15 MPAS:14.4 rv+42.1","J201509+124117 G054.18-12.12 HD192563"]	objPosition 	+1.0107	+1.4006	-0.3710	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6886","v11.4size:5.5 MPAS:7.8 rv+42.1","J201242.9+195921 G060.14-07.73 Henitz2-458"]	objPosition 	+0.8963	+1.5611	-0.2445	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "FG Sge","v9.0size:29 MPAS: rv+38.9","J201156+202004 G060.33-07.39 AAVSO2007+20"]	objPosition 	+0.9817	+1.7233	-0.2574	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "M27","v7.6size:402 MPAS:20.8 rv-42.0","J195936+223500 G060.72-03.77 NGC6853"]	objPosition 	+0.1390	+0.2480	-0.0188	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "M57","v9.7size:76 MPAS:17.9 rv-19.2","J185335+330143 G063.17+13.98 NGC6720"]	objPosition 	+0.1730	+0.3420	+0.0954	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6826","v9.8size:25 MPAS:15.4 rv-6.2","J194448+503060 G083.55+12.79 C15"]	objPosition 	+0.1193	+1.0562	+0.2412	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC7027","v10.4size:14 MPAS:14.6 rv+8.9","J210702+421410 G084.93-03.50 HD201272"]	objPosition 	+0.1276	+1.4383	-0.0883	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6543","v8.1size:19.5 MPAS:14.9 rv-65.7","J175836+663760 G096.47+29.95 C6"]	objPosition 	-0.0869	+0.7662	+0.4443	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC7662","v9.2size:17 MPAS:15.6 rv-12.2","J232554+423260 G106.57-17.59 C22"]	objPosition 	-0.1948	+0.6548	-0.2166	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC246","v8.0size:245 MPAS:19.6 rv+39.0","J004700-115260 G118.81-74.72 C56"]	objPosition 	-0.0661	+0.1200	-0.5017	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC40","v10.9size:48 MPAS:18.7 rv-20.4","J001300+723160 G120.02+09.88 C2"]	objPosition 	-0.4288	+0.7421	+0.1492	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "M76","v12.0size:67 MPAS:18.7 rv-19.1","J014159+513433 G130.88-10.52 NGC650"]	objPosition 	-0.7722	+0.8920	-0.2190	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC1501","v10.0size:52 MPAS:20.3 rv+36.9","J040654+605460 G144.56+06.54 V* CH Cam"]	objPosition 	-1.2411	+0.8834	+0.1746	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "M97","v12.0size:170 MPAS:21.6 rv+8.0","J111447+550114 G148.49+57.05 NGC3587"]	objPosition 	-0.2157	+0.1321	+0.3901	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC1514","v10.0size:132 MPAS:21.1 rv+59.8","J040917+304633 G165.53-15.29 HD281679"]	objPosition 	-0.6856	+0.1768	-0.1936	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC2392","v9.9size:19.5 MPAS:16.2 rv+84.2","J072910+205442 G197.88+17.40 C39"]	objPosition 	-1.1353	-0.3662	+0.3737	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC1535","v9.6size:21 MPAS:15.0 rv-1.4","J041415-124421 G206.47-40.57 HD26847"]	objPosition 	-1.2240	-0.6096	-1.1707	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "IC418","v10.7size:12 MPAS: rv+62.0","J052728-124150 G215.21-24.29 HD35914"]	objPosition 	-0.7969	-0.5624	-0.4401	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC2346","v10.8size:52 MPAS:18.5 rv-2.20","J070922-004824 G214.26+04.36 AAVSO0704-00"]	objPosition 	-0.8242	-0.5614	+0.0759	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC1360","v9.4size:385 MPAS: rv+41.8","J033314-255218 G220.36-53.94 TYC 6450-1071-1"]	objPosition 	-0.2647	-0.2250	-0.4770	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC2438","v12.5size:64 MPAS:19.8 rv+75.4","J074150-144402 G231.80+04.12 see HD62099"]	objPosition 	-1.2337	-1.5677	+0.1435	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC2440","v10.8size:16 MPAS: rv+62.7","J074155-181233 G234.84+02.42 HD62166"]	objPosition 	-0.9389	-1.3328	+0.0688	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC3242","v8.6size:25 MPAS:16.8 rv+4.7","J102426-183832 G260.98+32.00 C59"]	objPosition 	-0.1193	-0.7511	+0.4751	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC4361","v10.5size:63 MPAS:19.7 rv+10","J122431-184706 G294.12+43.63 HD107969"]	objPosition 	+0.3844	-0.8590	+0.8969	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6337","v12.3size:51 MPAS: rv-70.9","J172216-382903 G010.65-01.12 SH 1-6"]	objPosition 	+1.3498	-0.2539	-0.0268	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }
PN { objName [ "NGC6302","v9.6size:44.5 MPAS: rv-35.7","J171344-370614 G349.51+01.06 C69"]	objPosition 	+0.5314	-0.0985	+0.0099	objSize	0.03	0.03	0.03	lblType	1	fontSize	0.05	 }

# 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 
