Page 1 of 1

Additive markers [On Hold]

Posted: 05.02.2009, 18:08
by ElChristou
Guys, something really annoying: I have two scripts; one mark all galaxies with a white marker. Then I have the script from Fridger to mark the local group. I want to:

1- activate the first script
2- activate the second script
3- get as result the additions of both scripts (all galaxies in white + local group marked)

Actually this seems impossible. Can this issue find a fix? (not being able to show datas in "layers" (not the ones by Cham but almost ;-) ) is a real pity, no?)

Re: Additive markers

Posted: 05.02.2009, 18:27
by chris
Yes, it is annoying. We should allow more than one marker per object in the next version of Celestia.

--Chris

Re: Additive markers

Posted: 05.02.2009, 18:40
by ElChristou
Or each new marker delete the previous if there was one...

Re: Additive markers

Posted: 05.02.2009, 19:24
by Vincent
ElChristou wrote:Or each new marker delete the previous if there was one...
Christophe,

This can already be done by telling the script to unmark the LG galaxies just before
marking them with the new symbol. The following version of mark-lg.celx does that:

Code: Select all

-- Title: Mark Local Group Galaxies

function mark_LG_galaxies()
--
-- tables with the member galaxies of the Local Group
--
   local LG_big_galaxies = {"Milky Way", "M 31", "M 33"}

   local LG_members = {"LMC","SMC","IC 10","NGC 6822","M 32","M 110","NGC 3109","NGC 185","IC 1613","NGC 147","Sextans A","Sextans B","WLM","Sagittarius dSph","Fornax dSph","Pegasus DIG","And VII","Leo I","Leo A","And II","And I","And VI","Sagittarius DIG","Aquarius Dwarf","Antlia Dwarf","Sculptor dSph","And III","Leo II","Cetus Dwarf","Sextans dSph","Phoenix Dwarf","LGS 3","Tucana Dwarf","Carina Dwarf","And V","UrsaMinor Dwarf","Draco Dwarf"}
   
   for dso in celestia:dsos() do
      for i,v in ipairs(LG_big_galaxies) do
           if dso:name() == v then
               dso:unmark()
              dso:mark( "green", "disk",10, 1 )
         end
      end
      for j,w in ipairs(LG_members) do         
           if dso:name() == w then
               dso:unmark()
               dso:mark( "red", "disk",5, 0.7 )
           end
      end
   end
end

----------
-- main --
----------
--celestia:unmarkall()
celestia:setrenderflags { markers = true }
km2Mpc = 1/3.08568025e19
MW = celestia:find("Milky Way")
celestia:select(MW)

--
-- move observer to a distance of 5 Mpc from Milky Way
--
observer = celestia:getobserver()
observer:gotodistance(MW, 5/km2Mpc,5)
mark_LG_galaxies()
wait(0)

Re: Additive markers

Posted: 05.02.2009, 19:29
by ElChristou
Vincent wrote:This can already be done by telling the script to unmark the LG galaxies just before
marking them with the new symbol. The following version of mark-lg.celx does that:...

Tx Vince, for sure this is a valid solution to my present example, but a general solution at code level would be really welcome...
Anyway, waiting for it I'll use your script! :wink: