Functions
Set_Marker_Symbol

Functions

void Set_Marker_Symbol (const char *symbol)
 Changes the screen icon used to represent graphical "markers" in the scene. More...
 
void UnSet_Marker_Symbol (void)
 Removes all settings established by a previous call to Set_Marker_Symbol(). More...
 

Detailed Description

Function Documentation

void Set_Marker_Symbol ( const char *  symbol)

Changes the screen icon used to represent graphical "markers" in the scene.

Parameters
symbol- Special constant (see below.)

DETAILS

"Markers" are used to represent abstract geometrical points. You have a large choice over the representation to be used—the string constants are interpreted as follows:

-------------------------------------------------------------------------------------
"()" or "O"        An open circle, similar to `O'. Note: both a letter ("O" or "o")     
                   and a numeral ("0") will work.  This is the default.                                      
"*"                A star of some sort.                                                 
"X"                A `x' mark.                                                         
"+"                A `+' mark.                                                          
"."                A simple dot. This is often the only marker symbol that devices 
                   handle directly (others are composed and transformed in software).
"(*)" or "@"       A filled-in circle.                                  
"(.)"              An open circle with a dot in the center.                             
"(+)"              An open circle with a + in the center.               
"(x)"              An open circle with a 'x' in the center.               
"(())" or "(O)"    An open circle with another circle inside.                           
"[]"               A hollow box.                                        
"[*]"              A filled-in box.                                     
"[.]"              A hollow box with a dot in the center.                               
"[x]"              A hollow box with a 'x' in the center.                                 
"<>"               A hollow diamond.                                     
"<*>"              A filled-in diamond.                                 
"<.>"              A hollow diamond with a dot in the center.                           
"<+>"              A hollow diamond with a + in the center.                             
"/\"               A hollow up-pointing triangle. Note that in C string constants the   
                   \ must be doubled.                                                       
"/*\"              A filled-in triangle.                                
"/.\"              A hollow triangle with a dot in the center.                          
"|>"               A hollow rightward-triangle.                                         
"|*>"              A filled-in rightward-triangle.                                      
"|.>"              A hollow rightward-triangle with a dot in the center.                
"<|"               A hollow leftward-triangle.                                          
"<*|"              A filled-in leftward-triangle.                                       
"<.|"              A hollow leftward-triangle with a dot in the center.                 
"\/"               A hollow downward-triangle. Note again that in C   
                   string constants the \ must be doubled.                                  
"\*/"              A filled-in downward-triangle.                       
"\./"              A hollow downward-triangle with a dot in the center. 
"|*|"              A 3D sphere marker.                
                                                                                        
-------------------------------------------------------------------------------------

NOTES

The precise shape of the icon as it finally appears on the screen depends on the display device.

HOOPS markers will all have the identical radius in x and y, except for the "." marker, which will be smaller.

The "." marker will be drawn "as small as possible but still clearly visible"; this size may be larger than a single pixel on some machines. If you want a true single pixel set the Marker Size to zero.

For compatibility with previous releases, the "()" and "(*)" will be returned as "o" and "@" from Show_Marker_Symbol() .

EXAMPLES

As an example of defining new glyph patterns, the following code defines some legacy marker symbols that have been removed.

#define MARKER_OPCODE_START_FILL -1
#define MARKER_OPCODE_RESTART_FILL -2
#define MARKER_OPCODE_END_FILL -3
#define MARKER_OPCODE_ELLIPSE -4
#define MARKER_OPCODE_CIRCULAR_ARC -5
#define MARKER_OPCODE_INFINITE_LINE -6
#define MARKER_OPCODE_INFINITE_RAY -7
#define MARKER_OPCODE_START_CONTRAST_COLOR -8
#define MARKER_OPCODE_START_NORMAL_COLOR -9
#define MARKER_OPCODE_START_RGB_COLOR -10
#define MARKER_OPCODE_START_INDEXED_COLOR -11
#define MARKER_OPCODE_TERMINATE 0
#define MARKER_OPCODE_POINT 1
#define MARKER_OPCODE_LINE_2 2
#define MARKER_OPCODE_LINE_3 3
#define MARKER_OPCODE_LINE_4 4
#define MARKER_OPCODE_LINE_5 5
#define MARKER_OPCODE_LINE_6 6
#define MARKER_OPCODE_LINE_7 7
#define MARKER_OPCODE_LINE_8 8
#define MARKER_OPCODE_LINE_9 9
#define MARKER_OPCODE_LINE_10 10
#define MARKER_OPCODE_LINE_11 11
#define MARKER_OPCODE_LINE_12 12
#define MARKER_OPCODE_LINE_13 13
const char marker_pound[] = {100, 0, 0,
MARKER_OPCODE_LINE_2, -38, 87,
-38, -87,
MARKER_OPCODE_LINE_2, 38, 87,
38, -87,
MARKER_OPCODE_LINE_2, 87, -38,
-87, -38,
MARKER_OPCODE_LINE_2, 87, 38,
-87, 38,
MARKER_OPCODE_TERMINATE};
const char marker_wide_plus[] = {100, 0, 0,
MARKER_OPCODE_LINE_13, 100, 25,
100, -25,
25, -25,
25, -100,
-25, -100,
-25, -25,
-100, -25,
-100, 25,
-25, 25,
-25, 100,
25, 100,
25, 25,
100, 25,
MARKER_OPCODE_TERMINATE};
const char marker_open_arrow[] = {100, 0, 0,
MARKER_OPCODE_LINE_3, 83, -100,
0, 100,
-83, -100,
MARKER_OPCODE_TERMINATE};
const char marker_closed_arrow[] = {100, 0, 0,
MARKER_OPCODE_LINE_4, 83, -100,
0, 100,
-83, -100,
83, -100,
MARKER_OPCODE_TERMINATE};
const char marker_vertical_bar[] = {100, 0, 0,
MARKER_OPCODE_LINE_2, 0, 87,
0, -87,
MARKER_OPCODE_TERMINATE};
const char marker_half_arrow_left[] = {100, 0, 0,
MARKER_OPCODE_LINE_2, 100, 100,
-87, -87,
MARKER_OPCODE_TERMINATE};
const char marker_half_arrow_right[] = {100, 0, 0,
MARKER_OPCODE_LINE_2, -100, 100,
87, -87,
MARKER_OPCODE_TERMINATE};
const char marker_wide_arrow[] = {100, 0, 0,
MARKER_OPCODE_LINE_4, 0, 100,
-100, -100,
100, -100,
0, 100,
MARKER_OPCODE_TERMINATE};
const char marker_double_arrow[] = {100, 0, 0,
MARKER_OPCODE_LINE_8, -100, 0,
0, 0,
100, -100,
-100, -100,
0, 0,
100, 0,
0, 100,
-100, 0,
MARKER_OPCODE_TERMINATE};
const char marker_letter_y[] = {100, 0, 0,
MARKER_OPCODE_LINE_2, -63, 87,
0, 0,
MARKER_OPCODE_LINE_2, 0, 0,
63, 87,
MARKER_OPCODE_LINE_2, 0, 0,
0, -87,
MARKER_OPCODE_TERMINATE};
const char marker_letter_z[] = {100, 0, 0,
MARKER_OPCODE_LINE_4, -63, 87,
63, 87,
-63, -87,
63, -87,
MARKER_OPCODE_TERMINATE};
HC_Define_Glyph("#", countof(marker_pound), marker_pound);
HC_Define_Glyph("++", countof(marker_wide_plus), marker_wide_plus);
HC_Define_Glyph("/ \\", countof(marker_open_arrow), marker_open_arrow);
HC_Define_Glyph("/_\\", countof(marker_closed_arrow), marker_closed_arrow);
HC_Define_Glyph("|", countof(marker_vertical_bar), marker_vertical_bar);
HC_Define_Glyph("/", countof(marker_half_arrow_left), marker_half_arrow_left);
HC_Define_Glyph("\\", countof(marker_half_arrow_right), marker_half_arrow_right);
HC_Define_Glyph("/__\\", countof(marker_wide_arrow), marker_wide_arrow);
HC_Define_Glyph("/_^_\\", countof(marker_double_arrow), marker_double_arrow);
HC_Define_Glyph("y", countof(marker_letter_y), marker_letter_y);
HC_Define_Glyph("z", countof(marker_letter_z), marker_letter_z);

RESTRICTIONS

See also
Set_Marker_Size, Set_Color, Set_Line_Pattern, Set_Edge_Pattern, Insert_Marker, Set_Visibility.
void UnSet_Marker_Symbol ( void  )

Removes all settings established by a previous call to Set_Marker_Symbol().

DETAILS

No additional details. See Set_Marker_Symbol()