Softfill(3NCARG)

πŸ’– Softfill β€” like, the whole vibe (3NCARG)

okay bestie, welcome to the NCAR Graphics manual, Softfill edition πŸŽ€ β€” this one lives in section 3NCARG and it's literally about filling a polygonal subset of the plotter frame. that's it. that's the girl. πŸ’…


✨ NAME ✨

Softfill β€” Fills a polygonal subset of the plotter frame. no cap, that's the whole job description. 🫢


🌸 SYNOPSIS 🌸

So here's the squad, and here's what each one does:

  • SFSGFA β€” Can be made to fill polygons by calling the GKS routine GFA, or by calling the lower-level Softfill routines SFWRLD and SFNORM. two paths, same destination, we love options ✨
  • SFWRLD β€” Fills polygons with parallel lines, or with dots, polymarkers, or selected characters arrayed in a regular rectangular pattern. so many textures, so little time 😭
  • SFNORM β€” Fills polygons with parallel lines, or with dots, polymarkers, or selected characters arrayed in a regular rectangular pattern. yes bestie, same description, they're twins fr fr πŸ‘―
  • SFGETC β€” Retrieves the current character value of a specified internal parameter.
  • SFGETI β€” Retrieves the current integer value of a specified internal parameter.
  • SFGETP β€” Retrieves the current value of the dot pattern.
  • SFGETR β€” Retrieves the current real value of a specified internal parameter.
  • SFSETC β€” Sets the new character value of a specified internal parameter.
  • SFSETI β€” Sets the new integer value of a specified internal parameter.
  • SFSETP β€” Sets the new value of the dot pattern.
  • SFSETR β€” Sets the new real value of a specified internal parameter.

🌈 C-BINDING SYNOPSIS 🌈

for the C girlies, the whole crew got a c_ glow-up:

c_sfsgfa
c_sfwrld
c_sfnorm
c_sfgetc
c_sfgeti
c_sfgetp
c_sfgetr
c_sfsetc
c_sfseti
c_sfsetp
c_sfsetr

πŸ¦‹ USER-MODIFIABLE INTERNAL ROUTINES πŸ¦‹

None β€” nobody here is editable by you, bestie. hands off the internals πŸ™ˆ


πŸ’€ MESSAGES πŸ’€

okay so, plot twist: things can go wrong in Softfill. Various error conditions can occur, and each one of them results in a call to the error-handling routine SETER, with a final argument indicating that the error is recoverable.

🚨 By default, an error message is printed and execution is terminated. but β€” and this is the iconic part β€” if you turn on error recovery (as described in the man page for error_handling), you can get control back. you get to be the main character of your own error. πŸ‘‘

The error messages are as follows; all should be more or less self-explanatory:

SFGETC - PARAMETER NAME NOT KNOWN - X
SFGETC - PARAMETER NAME TOO SHORT - X
SFGETC - UNCLEARED PRIOR ERROR
SFGETI - UNCLEARED PRIOR ERROR
SFGETP - UNCLEARED PRIOR ERROR
SFGETR - PARAMETER NAME NOT KNOWN - X
SFGETR - PARAMETER NAME TOO SHORT - X
SFGETR - UNCLEARED PRIOR ERROR
SFNORM - ARRAY DST IS TOO SMALL
SFNORM - ARRAY IND IS TOO SMALL
SFNORM - COORDINATE ARRAYS TOO SMALL
SFNORM - LOGIC ERROR - SEE SPECIALIST
SFNORM - UNCLEARED PRIOR ERROR
SFSETC - PARAMETER NAME NOT KNOWN - X
SFSETC - PARAMETER NAME TOO SHORT - X
SFSETC - UNCLEARED PRIOR ERROR
SFSETI - UNCLEARED PRIOR ERROR
SFSETP - UNCLEARED PRIOR ERROR
SFSETR - PARAMETER NAME NOT KNOWN - X
SFSETR - PARAMETER NAME TOO SHORT - X
SFSETR - UNCLEARED PRIOR ERROR
SFSGFA - ERROR EXIT FROM GQFACI
SFSGFA - ERROR EXIT FROM GQPLCI
SFSGFA - UNCLEARED PRIOR ERROR
SFWRLD - UNCLEARED PRIOR ERROR

and now the tea on what these actually mean β˜•:

  • The LOGIC ERROR in SFNORM should never occur. if it does, it indicates a compiler problem or some sort of tampering with the code of the package. like, someone touched the code. not me, not you, but somebody. 😭
  • Error messages that complain of an error exit from a GKS routine probably imply that GKS has somehow been put in the wrong state. vibe check failed, basically. πŸ’€
  • In the messages that result from using an incorrect internal-parameter name in a call to one of the parameter-access routines, the X will be replaced by the offending name. so if you see X, that's a placeholder doing its little cameo ✨

πŸ”₯ SEE ALSO πŸ”₯

Online: softfill_params, sfgetc, sfgeti, sfgetp, sfgetr, sfsetc, sfseti, sfsetp, sfsetr, sfsgfa, sfwrld, ncarg_cbind

Hardcopy: NCAR Graphics Fundamentals, UNIX Version


Copyright (C) 1987-2009
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.

and that's the whole page, bestie β€” this one dropped back in March 1993, shipped under UNIX, and answers to the name Softfill(3NCARG). slay, stay filled, mwah πŸ’–βœ¨