T.R | Title | User | Personal Name | Date | Lines |
---|
1257.1 | | TOOK::F_MESSINGER | | Wed Jul 17 1991 10:05 | 31 |
| 1. Are the files that contain the descriptions of the map
(like for example MCC_F87C000400AA000001CA432F327C20C0.MCC_MAP_MYDOMAIN;1)
always stored in sys$manager. On my system they are, but I don't know if
that applies in general.
>>
>> On VMS maps are read from and written to the directory pointed to by
>> MCC_MAPS. For icons, it it MCC_ICONS.
>> You can change the logical to point to wherever you want.
>>
2. I have read in a document that all map coordinates are mapped in the square
user space determined by the coordinates (0,0) (5,5). But how many
pixels does this map onto in the real window? What I mean is: if I have
an icon that is defined as 40 high and 40 width, if I would map this onto
the (0,0) (5,5) space, It would fill the whole space . However, on the
screen , it appears as a small square in the whole window. This means
that the (0,0) (5,5) space , is mapped onto something like 800 pixels
high and 400 pixels wide. COuld someone tell me what the height and width is
of the decmcc map in pixels?
>>World coords have a minimum value of (0.0,0.0)->(5.0,5.0). If the data in
>>in the map file exceeds these boundaries(eg you have an icon at (3000.0,4000.5),
>>I will resize the world (Geez, I wish I had this power in real life!) to
>>accomodate that data. Icons on the other hand, are pixel based. 40x40
>>means just that: 40 pixels by 40 pixels. The amount of world space taken up by
>>one pixel will vary depending on the range of real world data.
>>
>>What problem are you trying to solve?
Fred
|
1257.2 | Check out your logicals | NSSG::R_SPENCE | Nets don't fail me now... | Wed Jul 17 1991 14:07 | 19 |
| Note that the default definition for MCC_MAPS is
"SYS$DISK:[],MCC_COMMON" so if you were logged into the SYSTEM account,
that's where the files would end up.
Actually, I think it would be better if they left out MCC_COMMON and
picked, for example SYS$LOGIN so at least for any one user, the files
would always be in the same space. Now it depends on the current
directory when they start up DECmcc.
What I did to change the logicals was to add one line to the end
of the SYS$STARTUP:MCC_LOGICAL_DIR.COM file like
@SYS$MANAGER:LOCAL_MCC_LOGICALS.COM and then put my changed logicals
in the local file. The reason? Well, when a new version of DECmcc is
installed, it will likely replace MCC_LOGICAL_DIR.COM and with it all
the local logicals. This way you only need to remember to add the
pointer to the logicals, not all the definitions (I learned this the
hard way after installing lots of interim baselevels).
s/rob
|
1257.3 | some more clarification needed | CLARID::HOFSTEE | Take a RISC, buy a VAX | Thu Jul 18 1991 05:31 | 40 |
|
On VMS maps are read from and written to the directory pointed to by
MCC_MAPS. For icons, it it MCC_ICONS.
You can change the logical to point to wherever you want.
>If this is true, than why do I see on my system:
>
>$ dir mcc_maps:*.mcc_map_mydomain
>%DIRECT-W-NOFILES, no files found
>$ dir sys$manager:*.mcc_map_mydomain
>
>Directory SYS$SYSROOT:[SYSMGR]
>
>MCC_F87C000400AA000001CA432F327C20C0.MCC_MAP_MYDOMAIN;1
>
>Total of 1 file.
>$ sh log mcc_maps
> "MCC_MAPS" = "SYS$DISK:[]" (LNM$SYSTEM_TABLE)
> = "MCC_COMMON"
>1 "MCC_COMMON" = "SYS$COMMON:[MCC]" (LNM$SYSTEM_TABLE)
>>World coords have a minimum value of (0.0,0.0)->(5.0,5.0). If the data in
>>in the map file exceeds these boundaries(eg you have an icon at (3000.0,4000.5),
>>I will resize the world (Geez, I wish I had this power in real life!) to
>>accomodate that data. Icons on the other hand, are pixel based. 40x40
>>means just that: 40 pixels by 40 pixels. The amount of world space taken up by
>>one pixel will vary depending on the range of real world data.
>>
This exactly what I want to now. You say that it varies depending on the real
world coordinates. How does it vary. In other words, what transformation do
you use, to map a 40*40 icon into the (0,0)(0,5) world space? Do you
multiply it with 1/100 or 1/1000 or whatever?
>>What problem are you trying to solve?
I am trying to make a printout on the same scale as the map appears in
the navigation window on the screen
Timo
|
1257.4 | | TOOK::F_MESSINGER | | Thu Jul 18 1991 08:30 | 39 |
| >>
>If this is true, than why do I see on my system:
>
>$ dir mcc_maps:*.mcc_map_mydomain
>%DIRECT-W-NOFILES, no files found
>$ dir sys$manager:*.mcc_map_mydomain
>
>Directory SYS$SYSROOT:[SYSMGR]
>
>MCC_F87C000400AA000001CA432F327C20C0.MCC_MAP_MYDOMAIN;1
>
>Total of 1 file.
>$ sh log mcc_maps
> "MCC_MAPS" = "SYS$DISK:[]" (LNM$SYSTEM_TABLE)
> = "MCC_COMMON"
>1 "MCC_COMMON" = "SYS$COMMON:[MCC]" (LNM$SYSTEM_TABLE)
I don't know...can anyone else help?
>>This exactly what I want to now. You say that it varies depending on the real
>>world coordinates. How does it vary. In other words, what transformation do
>>you use, to map a 40*40 icon into the (0,0)(0,5) world space? Do you
>>multiply it with 1/100 or 1/1000 or whatever?
The GObE widget(which is what I am using to model the world space) handles this.
I don't know what it is.
>>I am trying to make a printout on the same scale as the map appears in
>>the navigation window on the screen
It's not obvious to me at this point how to go about doing this with the limited
amount of info in the map file. Maybe it's possible, maybe it's not. But what
we might be able to do is give you the info you need in v1.2.
Fred
|
1257.5 | Check the logicals... | NSSG::R_SPENCE | Nets don't fail me now... | Thu Jul 18 1991 10:58 | 15 |
| If the logical MCC_MAPS is pointed to SYS$DISK:[] and the current
directory is not set to the area where the maps ARE, you won't see
them.
Re; .-1
Please also include a SHOW DEFAULT output.
Note that SYS$MANAGER is a search path and contains more than one
directory. The definition of MCC_MAPS was also a search path.
As I said earlier, I reccomend that you define MCC_MAPS to a specific
place and not let it float all over the place.
s/rob
|
1257.6 | some answers. more questions | CLARID::HOFSTEE | Take a RISC, buy a VAX | Thu Jul 18 1991 10:59 | 40 |
|
Ok, Let's leave the logical name issue to another guru.
>The GObE widget(which is what I am using to model the world space) handles this.
>I don't know what it is.
Well , SOMEwhere you have to tell GObe what the pixel size of the navigation
window is. Now maybe it uses some internal default (I don't know GObe), but
it is clear that somehow it KNOWS that it has to scale a 40*40 pixel icon
onto , let's say 0.1*0.1 userspace (so divide by 400). Or vice versa, map
(0,0)(5,5)userspace onto 2000*2000 pixels.
>It's not obvious to me at this point how to go about doing this with the limited
>amount of info in the map file. Maybe it's possible, maybe it's not.
Well, all I need to regenarate the picture is in the mapfile, except from those
translation factors. Now of course, I could have a look on the screen and
measure that there fit for example 100 icons horizontal and 100 vertical in
the navigation window and deduct from that, that the (0,0)(5,5) worldspace is
mapped onto 100*40=4000 pixels high and wide. Now this would work , as long
as the worldspace wouldn't change. This brings me to my next question:
How can the user extend the worldspace? In other words, how will he be able
to put something on let's say (10,10)? Or more general, how do I make REALLY
big maps that don't fit into the standard navigation window when you startup
DECmcc?
Now suppose that I can do this (put something on 10,10 ).
Then I also suppose that everything that everything that
previously filled up the complete navigation window in worldspace (0,0)(5,5)
will now be mapped into the lower left quadrant of the navigation window
which is now mapped onto (0,0)(10,10). And this would then mean that I have
to use another scaling factor to keep the icons the same size with respect
to each other.
If this is becoming to detailed, maybe we could take this offline, unless
other people are also interested .
Timo
|
1257.7 | | TOOK::F_MESSINGER | | Thu Jul 18 1991 15:03 | 18 |
|
Well , SOMEwhere you have to tell GObe what the pixel size of the navigation
window is. Now maybe it uses some internal default (I don't know GObe), but
it is clear that somehow it KNOWS that it has to scale a 40*40 pixel icon
onto , let's say 0.1*0.1 userspace (so divide by 400). Or vice versa, map
(0,0)(5,5)userspace onto 2000*2000 pixels.
>>The user may specify a navigation window size in the mcc_resource.dat
>>file. We read this value from the file and give it directly to gobe.
>>From then on our UI knows nothing of the world to device coordinate
>>translation.
How can the user extend the worldspace? In other words, how will he be able
to put something on let's say (10,10)? Or more general, how do I make REALLY
>> They can't, unless they edit the map file.
Fred
|
1257.8 | creating worldspace.disappearing icon_file | CLARID::HOFSTEE | Take a RISC, buy a VAX | Fri Jul 19 1991 05:33 | 74 |
|
>>The user may specify a navigation window size in the mcc_resource.dat
Is there a logical pointing to this file?
>How can the user extend the worldspace? In other words, how will he be able
>to put something on let's say (10,10)? Or more general, how do I make REALLY
>> They can't, unless they edit the map file.
Well, I found a way to do it through the user interface, but from the fact
that you say it cannot be done, I guess that it is an undocumented 'feature'.
How to do it?
Start mcc. You will now have a window on the left upper corner of your screen.
Make the navigation window visible. Put a node on the upper left corner of
the navigation window, and one in the upper right corner. So their coordinates
will be something like (0.1,4.9) and (4.9,4.9). Now resize the topology
window so that it occupies your whole screen. You will see in the navigation
window, that the nodes that were previously on the top of the navigation
window, have moved down. What you've actually done is creating extra world
space. You can check this by moving the node in the upper right corner, to the
'new' upper right corner in the navigation window. When you save the map, you
will see that the new coordinates are now something like
object_type 1
mcc_code 8
center_x 5.983576 center_y 5.631081
text_x 5.905613 text_y 5.551662
name .subdomain
And as you see, the coordinates are greater than (5.0). By repeating the
above procedure, you can create more and more worldspace, untill you get
start getting messages like: 'integer overflow ' and 'not enough resources'.
By playing around with the above, I noticed that sometimes in my map file,
the icon_file labels disappear. Is there an explanation for that? For example
my current map file in mcc_maps, looks like:
version 0
domain mydomain
last_x 4.004158 last_y 4.043659
object_type 1
mcc_code 8
center_x 5.983576 center_y 5.631081
text_x 5.905613 text_y 5.551662
name .subdomain
object_type 1
mcc_code 12
center_x 0.039501 center_y 4.872765
text_x -0.003117 text_y 4.792307
name .gibby
object_type 1
mcc_code 12
center_x 0.041788 center_y 4.955925
text_x 0.010603 text_y 4.875468
name .chic
object_type 1
icon_file MCC_NODE4_ICON.DAT
mcc_code 12
center_x 0.119544 center_y 4.875260
text_x 0.069648 text_y 4.794802
name .netsys
and as you can see, only the last node has an icon_file label. The other
nodes haven't, although they still appear correct on my map.
Thanks
Timo
|
1257.9 | | TOOK::F_MESSINGER | | Fri Jul 19 1991 09:14 | 20 |
|
Is there a logical pointing to this file?
>>The standard dew$user_defaults or decw$system_defaults.
And as you see, the coordinates are greater than (5.0). By repeating the
above procedure, you can create more and more worldspace, untill you get
start getting messages like: 'integer overflow ' and 'not enough resources'.
>>Maybe I should have said "you can't do it reliably"
By playing around with the above, I noticed that sometimes in my map file,
the icon_file labels disappear. Is there an explanation for that? For example
my current map file in mcc_maps, looks like:
>>When we start up, I look for icons in MCC_ICONS:. If I doon't find any, I use
>>an internal default. If you then create a map with icons and save it, I will
>>not save the icon file name in the map since there is no name to save.
Fred
|
1257.10 | but how do you recreate it than? | CLARID::HOFSTEE | Take a RISC, buy a VAX | Sat Jul 20 1991 07:27 | 13 |
| >When we start up, I look for icons in MCC_ICONS:. If I doon't find any, I use
>an internal default. If you then create a map with icons and save it, I will
>not save the icon file name in the map since there is no name to save.
I don't really understand this. If you don't find icons in mcc_icons: than
how can you create a map with icons? And if you have saved a file without
an icon_file label, what kind of icon do you use when that domain is later
on opened again?
Thanks
Timo
|
1257.11 | | TOOK::F_MESSINGER | | Sat Jul 20 1991 13:37 | 10 |
| I don't really understand this. If you don't find icons in mcc_icons: than
how can you create a map with icons?
>>I have an internal, hard coded icon that I'll use...It is has a question
>> mark in the middle of it.
And if you have saved a file without
an icon_file label, what kind of icon do you use when that domain is later
on opened again?
>> The question mark.
|
1257.12 | mcc code lables? | CLARID::HOFSTEE | Take a RISC, buy a VAX | Mon Jul 22 1991 04:55 | 12 |
|
Fred, to keep things consistent, maybe you could mail me the icon file
for this 'unknown' symbol.
Next question: Are the mcc_code labels in the mapfile used in any way to
create the map? I have some summary description of what values these codes
can have , but it doesn't say exactly what and how they are used for.
Thanks
Timo
|
1257.13 | object types 3 and 4? | CLARID::HOFSTEE | Take a RISC, buy a VAX | Mon Jul 22 1991 05:35 | 13 |
|
According to my doc, I can have object type 2 (straight line), object type 3
(multi segment) and object type 4 (multi segment) in my mapfile. Now how
do I create object type 3 and 4 with the toolbox? In the examples that I
have, the object types 3 and 4 have no line_width label. Is this always
the case, or is the line width label always optional, and if so what
default size is used.
Thanks
Timo
|
1257.14 | | TOOK::F_MESSINGER | | Mon Jul 22 1991 11:02 | 28 |
|
re last couple
Next question: Are the mcc_code labels in the mapfile used in any way to
create the map? I have some summary description of what values these codes
can have , but it doesn't say exactly what and how they are used for.
>> They are used exclusively for managing the object on the map. If you have
>> the icon file, it doesn't seem like you would need this number. If you did
>> need to know whether an object was a node as opposed to a bridge, we've
>> embedded the object class into the icon file name eg. MCC_BRIDGE_*_icon.dat.
According to my doc, I can have object type 2 (straight line), object type 3
(multi segment) and object type 4 (multi segment) in my mapfile. Now how
do I create object type 3 and 4 with the toolbox? In the examples that I
have, the object types 3 and 4 have no line_width label. Is this always
the case, or is the line width label always optional, and if so what
>> 3's and 4's were meant to always represent "geographical" bodies. For
>> performance reasons they always have a pixel width of 1. The server draws
>> a 1 pixel wide line much faster than a N pixel wide line and for geographical
>> backdrops, the number of lines the server has to draw can easily be in the
>> gazillions.
>> There is a note in here somewhere describing a tool someone did to
>> facilitate drawing these things objects.
Fred
|
1257.15 | clarification on icon_file labels? | CLARID::HOFSTEE | Take a RISC, buy a VAX | Thu Aug 01 1991 05:35 | 32 |
|
I would like to come back on my question in .9 about icon_file labels. I
understand that if the icon file is not in mcc_icons, you don't save the
icon_file label. However, I have seen now several maps that look like:
object_type 1
mcc_code 8
center_x 0.195426 center_y 4.677754
text_x 0.100832 text_y 4.598336
name TESTDOMAIN1
object_type 1
icon_file MCC_DOMAIN_ICON.DAT
mcc_code 8
center_x 0.567568 center_y 4.669438
text_x 0.472973 text_y 4.590020
name TESTDOMAIN2
in which the first icon is the same domain icon as the second one. So the
icon file is there in MCC_ICONS. When I reopen this file that contains two
domain icons, I see indeed two domain icons. So my two questions are:
1. Why do I sometimes have map files that don't have an icon_file label, while
the icon file DOES exist in MCC_ICONS?
2. When you redisplay such a file, how do you figure out what icon file to use,
because apparently when DECmcc redisplays the file, the icons come out ok.
Thanks
Timo
|
1257.16 | | TOOK::F_MESSINGER | | Thu Aug 01 1991 09:16 | 28 |
|
Hi Timo,
When we start up, I create an internal list of the icons I saw in MCC_ICONS.
For each list entry, there are two peices of information: The icon file name
and the entity class code. eg. MCC_DOMAIN_ICON.DAT 8, MCC_NODE4_ICON.DAT 12.
When I read an icon out of a map file I see mcc_code 12 and I may or may not
see icon_file. If I see icon_file "file_name" I will search the list I
created (above) looking for the icon file name. If I find it, I use that file.
If I don't find it I will search the same list looking for the mcc_code (the 12).
If I find the 12 I will use the file name paired up with it. If the 12 did
not have a file name paired up with it (meaning I found no MCC_NODE4_ICON.DAT
file) then I will use the internally hardcoded "unknown icon"...the one
with the big question mark in it.
Now, when I save a map, the only time I write out icon_file "..." is when I know
I have read in a file name for that icon from the input file or the user has
placed one in the map from the toolbox or the addbox (the box of icons at the
bottom of the add form).
As to your question about why some domain map entries have icon_file and some
do not, I'd *guess* that some domain members were put on the map when MCC_ICONS
was not defined properly and others were put on the map when it was defined
properly. Just a guess!
Fred
|
1257.17 | | NSSG::R_SPENCE | Nets don't fail me now... | Thu Aug 01 1991 10:50 | 5 |
| Another way for the icons to be put there without lables would be
if one created some domain members from the FCL and the IMPM then
autoplaced (and picked the default icons for the class)???
s/rob
|
1257.18 | | TOOK::F_MESSINGER | | Thu Aug 01 1991 15:47 | 6 |
|
Even if the members were created via FCL I would have matched up on the
icon that appears in the toolbox (the default class icon) and written it
to the map file.
Fred
|
1257.19 | so normally the labels should be there. | CLARID::HOFSTEE | Take a RISC, buy a VAX | Fri Aug 02 1991 06:06 | 13 |
|
So to resume .16 , I understand that in normal circumstances, all icons
that appear in a map file will have an icon_file label. Only if something
deviates from 'normal' (wrong definition of MCC_ICONS for example), you
might end up with missing icon_file labels.
Fred, do you have a complete list that you use to map mcc_codes into icon
file names?
Thanks
Timo
|
1257.20 | | TOOK::F_MESSINGER | | Fri Aug 02 1991 07:45 | 10 |
|
It is done by reading the MCC dictionary. For each global entity found
in the dictionary the code and a its name is squirreled away. Then an
icon file name is concocted from the entity name; MCC_"NODE"_ICON.DAT.
Does any one else know if there is some kind of registration list
laying around that Timo's code can read? If not, could he read the
dictionary?
Fred
|
1257.21 | let's get the details! | CLARID::HOFSTEE | Take a RISC, buy a VAX | Fri Aug 02 1991 09:57 | 9 |
|
Hmmmm, we are really getting into the gory details now. Yes, let's hear it:
how can I hack this 'dictionary' to find out the mcc_code<->global entity
relationships. I haven't installed the developer's toolkit yet and I haven't
gone through the AM development doc & samples. Maybe this is the right time
to have a look at this?..
Timo
|
1257.22 | presentation name for entity class | TOOK::CALLANDER | Jill Callander DTN 226-5316 | Mon Aug 05 1991 12:08 | 12 |
| the dictionary and how it is set up is discribed int eh SRM. The guide also has
some info regarding the use and set up of the dictionary as well.
What you are looking for is the definition called PRESENTATION_NAME for the
entity class.
dict spec == mcc_k_dict_class <class_code>
mcc_k_dict_definition mcc_k_dd_presentation_name
then call the dict get def info routine.
jill
|