SilverScreen Solid Modeler

  • Contents
  • Index
  • Search
  • Welcome to SilverScreen
  • History
  • SilverScreen
    • Drawing Tools
      • Screen Appearance
      • Screens and Windows
      • Drawing Commands
      • 2D Boolean Operations
      • Fonts
      • Dockable Tree
    • Ribbons
      • Standard
      • Editor
    • Solid Modeling
      • Union
      • Intersection
      • Difference
      • Slice
      • Clip
      • Trim
      • Fillet
    • Sweeping
      • Linear
      • Circular
      • Path
      • Join
    • Rendering
      • Surface Wrapping
      • Light Source Dialog
      • Property Dialog
      • Hidden Line and Surface
      • Light Sources
    • Annotation
      • Non-Orthogonal Annotation
      • 3-View Annotation
  • SilverScreen API
    • SilverScreen Basics
    • Script Commands
      • Command System
      • SS_COMMAND
      • ICOMMANDs
      • C-Space Coordinates
      • Command Formats
    • Drawing Hierarchy
      • Introduction
      • Direct Structure Access
      • Entity Structures
      • Primitive Structures
      • Edges and Vertices
      • Entity and Primitive Paths
      • Groups and Wildcards
      • Tags
      • E-Space, Base, Axis and Extents
      • Visibility
    • Important Commands
      • Screen Refresh
      • Object-oriented 2D Boolean Commands
      • Printing
        • The PAGE Command
        • The PRINT Command
      • Annotation
        • Inserting Details
        • Reinserting Details
        • Commands for Detailing Environment
      • Interactive Drawing Commands
      • Additional Commands
    • Tools and Techniques
      • Panel Menus
      • Generic Data Sets
      • Transformation Matrices
      • Colors and RGB
      • Custom Menus
      • Control Variables
      • System Variables
      • V-EDIT command
      • Keyboard and Pointer
      • B-tree Databases
      • Undo System Usage
      • Property Libraries
        • Creating a property library and material
        • Property Library Commands
        • SilverScreen API Routines
      • Good Advice
    • Run-Time Library Reference
      • Distributed Include Files
      • Functions by Category
        • Data Conversion
        • Drive and Directory Control
        • Graphics
        • RGB and Color Support
        • Screen Text
        • Mathematical
        • Process and Environment Control
        • Direct Structure Access
        • Structure Loading Access
        • Control Variable Access
        • Panel Input
        • B-tree Database Support
        • Simple Prompting
        • Printing
        • Transformation Matrix
        • 3D Geometry Support
        • Drawing Hierarchy
        • Interface and Environment
        • Generic Data
        • Custom Menu Support
        • Keyboard and Mouse
        • System Variable Support
        • Undo System Support
      • Function Descriptions
        • abort
        • access
        • application_name
        • ask_multiple
        • ask_yn
        • attach_box_item
        • bos_extents
        • bos_on_screen
        • box_prompt
        • box_prompt_multiple
        • bt_close
        • bt_create_data
        • bt_create_tree
        • bt_delete
        • bt_erase
        • bt_find
        • bt_find2
        • bt_flush
        • bt_insert
        • bt_next
        • bt_open
        • bt_previous
        • bt_read
        • bt_set_first
        • bt_set_key
        • bt_set_last
        • bt_store
        • bt_update
        • bt_write
        • c_to_w
        • chdir
        • clear_area
        • clear_away_lines
        • clear_status
        • clear_window
        • cls
        • collect_generic
        • color_of_edge
        • color_to_rgb
        • congruent
        • count_windows
        • cross_product
        • cv_get
        • cv_set
        • dcos
        • delta_worldx
        • delta_worldy
        • delta_worldz
        • dot_product
        • draw_line
        • draw_point
        • draw_polygon
        • draw_quad
        • draw_rgb_line
        • draw_rgb_pixel
        • draw_triangle
        • draw_world_line
        • draw_world_line_rgb
        • draw_world_point
        • dsin
        • dtan
        • equal_double
        • error_message
        • error_text
        • eval_expression
        • extents
        • fence_pgroup
        • fence_qgroup
        • fetch_tag
        • file_date
        • file_time
        • find_first
        • find_next
        • flash_bos
        • flash_prim
        • follow_vector
        • font_get
        • font_set
        • format_double
        • get_ambient_light
        • get_bos
        • get_bos_proplib
        • get_cspace
        • get_detail_text
        • get_direct_pointer
        • get_drive
        • get_endpoints
        • get_env
        • get_epsilon
        • get_event_info
        • get_generic
        • get_group
        • get_group_item
        • get_image_info
        • get_linestyle_info
        • get_opengl_info
        • get_pattern_info
        • get_pattern_name
        • get_pen_info
        • get_pgroup_item
        • get_plane
        • get_prim
        • get_prim_proplib
        • get_printer_info
        • get_proplib_entry
        • get_snap_value
        • get_ss_variable_value
        • get_tag
        • get_texture_path
        • get_version
        • get_view
        • get_window_info
        • get_world_xyz
        • getcwd
        • inchar
        • interference
        • intersect
        • intersect_2_plane
        • intersect_3_plane
        • intersect_line_plane
        • is_entity
        • is_redo_available
        • is_undo_available
        • is_undo_off
        • is_undo_stopped
        • is_undo_suspended
        • jump_menu
        • load_ss_variable
        • make_path
        • mark_area
        • menu
        • menu_check_item
        • menu_enable_item
        • menu_persist
        • menu_unload
        • message_area_configure
        • message_area_write
        • mkdir
        • near_entity1
        • near_entity2
        • near_primitive1
        • near_primitive2
        • nextkey
        • p_to_w
        • paint_begin
        • paint_end
        • paint_entity
        • paint_entity_rgb
        • paint_primitive
        • paint_primitive_rgb
        • panel_input
        • panel_message
        • path_drawing
        • path_execution
        • path_home
        • path_library
        • path_silver
        • path_temp
        • pgroup_append
        • pgroup_remove
        • pick_entity
        • pick_primitive
        • pixel_clear
        • pixel_in_primitive
        • pm_box
        • pm_box2
        • pm_color
        • pm_comment
        • pm_displacement
        • pm_distance
        • pm_double
        • pm_execute
        • pm_font
        • pm_formatted
        • pm_generic
        • pm_help_file
        • pm_help_line
        • pm_initialize
        • pm_integer
        • pm_line_width
        • pm_menu
        • pm_rgb
        • pm_tab_begin
        • pm_tab_initialize
        • pm_text
        • pm_xyz
        • point_on_line
        • point_on_plane
        • point_on_round
        • point_vs_plane
        • point_vs_polygon
        • point_vs_solid
        • pointer_char_locate
        • pointer_char_position
        • pointer_locate
        • pointer_mode
        • pointer_position
        • prim_facet_get
        • prim_facets_build_cache
        • prim_facets_collect
        • prim_facets_count
        • prim_facets_free_cache
        • prim_facets_release
        • prim_triangle_get
        • prim_triangles_build_cache
        • prim_triangles_collect
        • prim_triangles_count
        • prim_triangles_free_cache
        • prim_triangles_release
        • primitive_plane
        • primitive_plane2
        • print_load_settings
        • print_save_settings
        • print_scene
        • print_text_file
        • printer_close
        • printer_get_name
        • printer_get_name_s
        • printer_open
        • printer_send
        • printer_set_name
        • prompt_color
        • prompt_displacement
        • prompt_distance
        • prompt_entity
        • prompt_generic
        • prompt_line_width
        • prompt_pgroup
        • prompt_point
        • prompt_primitive
        • prompt_qgroup
        • prompt_rgb
        • qmessage
        • quick_menu
        • record_visibility
        • redo_add_bos
        • redo_add_command
        • redo_get_description
        • redo_one
        • refresh_lines
        • rel_distance
        • relative_entry
        • reset_visibility
        • resize_screen
        • resize_window
        • rex_exec
        • rex_load
        • rex_unload
        • rgb_of_edge
        • rgb_to_color
        • rmdir
        • scan_entity
        • scan_primitive
        • screen_discard
        • screen_pop
        • screen_push
        • screen_restore
        • screen_save
        • scriptwin_close
        • scriptwin_execute
        • scriptwin_open
        • scriptwin_resize
        • set_drive
        • spawn
        • ss_command
        • ss_image_capture
        • ss_image_destroy
        • ss_image_display
        • status_off
        • status_on
        • surface_area
        • surface_area_prim
        • sys_ablock
        • sys_block
        • sys_drawing
        • sys_drawing_fullname
        • sys_object
        • sys_screen
        • sys_title
        • sys_window
        • system1
        • system2
        • system3
        • sysvar_text
        • sysvar_value
        • sysvar_xyz
        • text_mode_begin
        • text_mode_cursor
        • text_mode_end
        • text_mode_locate
        • text_to_color
        • text_to_rgb
        • text_to_xyz
        • text_window_close
        • text_window_open
        • tfile_close
        • tfile_gets
        • tfile_make
        • tfile_open
        • tm_clear
        • tm_copy
        • tm_cspace
        • tm_espace
        • tm_extents
        • tm_inverse
        • tm_multiply
        • tm_rotate_x
        • tm_rotate_y
        • tm_rotate_z
        • tm_scale_x
        • tm_scale_y
        • tm_scale_z
        • tm_to_2d
        • tm_to_plus_x
        • tm_to_plus_z
        • tm_transform
        • tm_transform_bos
        • tm_translate
        • undo_abort
        • undo_add_bos
        • undo_add_command
        • undo_begin
        • undo_end
        • undo_get_description
        • undo_get_limit
        • undo_initialize
        • undo_log
        • undo_log_close
        • undo_log_open
        • undo_off
        • undo_on
        • undo_one
        • undo_restart
        • undo_resume
        • undo_set_description
        • undo_stop
        • undo_suspend
        • unlink
        • unload_ss_variable
        • vertex1_of_edge
        • vertex2_of_edge
        • view_file
        • w_to_c
        • w_to_p
        • wchar
        • wcolor
        • wcolorc
        • window
        • wstring
        • wstringc
        • xyz_add
        • xyz_angle
        • xyz_clear
        • xyz_distance
        • xyz_div
        • xyz_equal
        • xyz_mult
        • xyz_of_vertex
        • xyz_round
        • xyz_sub
        • xyz_to_text
        • xyz_zero
        • xyz1_of_edge
        • xyz2_of_edge
        • zero_double
      • Predefined Variables
        • Color variables
        • Current cursor location
        • Screen dimensions
        • Viewing area
        • Device information
        • Input device interface
        • Error trapping
        • Equality threshold
        • Win32 related
      • Entity Structures
        • BLOCK_NODE
        • BOS_NODE
        • DETAIL_NODE
        • OBJECT_NODE
        • SYMBOL_NODE
        • TEXT_NODE
      • Primitive Structures
        • BPOINT_NODE
        • CURVE_NODE
        • LINE_NODE
        • MESH_NODE
        • POINT_NODE
        • POLYGON_NODE
        • POLYLINE_NODE
        • PRIM_NODE
        • ROUND_NODE
        • SPOINT_NODE
      • Internal Structures
        • ATTRIBUTE_NODE
        • COLORS
        • DIM_STUFF
        • EngineInitStruct
        • FONT_NODE
        • LIGHT_NODE
        • MODEL_NODE
        • PATCH_NODE
        • PROPLIB_ENTRY
        • SCHEMA_NODE
        • SDCInitStruct
        • SPACE
        • SPRITE_DATA
        • SS_COEF
        • SS_EVENT
        • SS_FACET_INFO
        • SS_FONTINFO
        • SS_IMAGE_INFO
        • SS_LINESTYLE
        • SS_OPENGL_INFO
        • SS_PATTERN
        • SS_PEN_INFO
        • SS_PRINTER_INFO
        • SS_TAG
        • SS_TRIANGLE_INFO
        • SS_VARIABLE
        • SS_VERSION
        • SS_VIEW
        • SS_WINDOW_INFO
        • SURFACE_NODE
        • SWInitStruct
        • TAG_NODE
        • TEXTURE_DATA
      • Simple Types
        • BOOLEAN
        • EDGE
        • FILE_NAME
        • MATRIX
        • NAME
        • RECT
        • RGB
        • SIZE
        • SS_FACET_HANDLE
        • SS_TRIANGLE_HANDLE
        • SS_IMAGE_HANDLE
        • SS_XYZ
        • Unsigned Integer Types
        • VERTEX
        • ANGLE
        • Integer Types
        • IXY
        • SDC
      • SS_TRIANGLE_HANDLE_2
      • Callback Routine Types
      • Important Macros
        • BLUE_COLOR
        • GREEN_COLOR
        • LINE_STYLE
        • LINE_WIDTH
        • MAKE_RGB
        • MAKE_TEXTURE_FLAG
        • MAKE_WIDTH_STYLE
        • RED_COLOR
        • TEXTURE_FLAGS
        • TEXTURE_INDEX
        • TEXTURE_MAP
        • TEXTURE_MODE
  • SilverC
    • Users Guide
    • Configuring the Compiler
    • The SILVERC environment variable
    • Preprocessing Directives
    • Implementation Issues
    • Pragmas
    • System Variables
    • Include Files
    • C Library Functions by Category
      • Buffer Manipulation
      • Character Class Tests
      • Data Conversion
      • File Handling
      • File Input and Output
      • Mathematical
      • Memory Allocation
      • Process and Environment Control
      • Debugging Support
      • String Manipulation
      • Time and Date
      • Variable Argument
    • C Library Function Reference
      • abort
      • abs
      • access
      • acos
      • asctime
      • asin
      • assert
      • atan
      • atan2
      • atof
      • atoi
      • atol
      • calloc
      • ceil
      • chain
      • chain_and_return
      • clearerr
      • clock
      • cos
      • cosh
      • ctime
      • difftime
      • div
      • exit
      • exp
      • fabs
      • fclose
      • feof
      • ferror
      • fflush
      • fgetc
      • fgetpos
      • fgets
      • filelength
      • fileno
      • floor
      • fmod
      • fopen
      • fprintf
      • fputc
      • fputs
      • fread
      • free
      • frexp
      • fscanf
      • fseek
      • fsetpos
      • ftell
      • fwrite
      • getc
      • getenv
      • gmtime
      • heapcheck
      • isalnum
      • isalpha
      • iscntrl
      • isdigit
      • isgraph
      • islower
      • isprint
      • ispunct
      • isspace
      • isupper
      • isxdigit
      • labs
      • ldexp
      • ldiv
      • localtime
      • log
      • log10
      • longjmp
      • malloc
      • memchr
      • memcmp
      • memcpy
      • memmove
      • memset
      • mktime
      • modf
      • monitor
      • pow
      • printf
      • putc
      • rand
      • realloc
      • remove
      • rename
      • rewind
      • setjmp
      • sin
      • sinh
      • sizeof
      • spawn
      • sprintf
      • sqrt
      • srand
      • sscanf
      • stacktrace
      • strcat
      • strchr
      • strcmp
      • strcpy
      • strcspn
      • strdate
      • strerror
      • strftime
      • strlen
      • strlwr
      • strncat
      • strncmp
      • strncpy
      • strpbrk
      • strrchr
      • strspn
      • strstr
      • strtime
      • strtod
      • strtok
      • strtol
      • strtoul
      • strupr
      • tan
      • tanh
      • time
      • tmpfile
      • tmpnam
      • tolower
      • toupper
      • ungetc
      • unlink
      • va_arg
      • va_end
      • va_start
      • vfprintf
      • vprintf
      • vsprintf
  • SilverPlus
    • Creating a SilverPlus Application
      • Creating a DLL skeleton
      • Adding a SilverPlus entry point
      • Making the entry point work
      • Creating a SilverPlus Stub
      • Invoking a SilverPlus stub
      • DLL Loading Review
      • Requirements
        • Using a Win32 DLL
        • Using an MFC DLL
      • Calling Convention Notes
        • The __stdcall calling convention
        • The __cdecl calling convention
    • SilverScreen Naming Convention
    • Window Subclassing
      • SilverScreen Input Processing
      • SilverScreen and MFC
      • The WM_FEED_CHAR Message
    • The DLL Developer Problem Solver
      • A Note on Command IDs
      • A Note on Resources
      • DLL Debugging Techniques
      • Menu Text on Status Line
      • CmdUI handling for Developer IDs
      • Changing the Mouser Cursor Shape
      • Calling C++ from C
    • SilverPlus Functions
      • set_location_change_handler
      • set_message_area_configure_handler
      • set_message_area_write_handler
      • set_qmessage_handler
      • set_show_error_handler
      • set_status_change_handler
      • set_tempfile_close_handler
      • set_tempfile_create_handler
    • Sample Projects
  • SilverEngine
    • SilverEngine and the SilverScreen API
    • SilverEngine Application Development
      • SilverEngine Basics
      • Windows Basics
      • Windows MFC Basics
      • Putting It All Together
      • Primer for MFC Applications
      • Non-MFC Applications
      • Window Subclassing
        • SilverEngine Input Processing
        • SilverEngine and MFC
        • The WM_FEED_CHAR Message
    • SilverEngine Functions
      • engine_initialize
      • engine_quit
      • engine_set_frame_window
      • on_sdc_menu_command
      • on_update_sdc_menu_command_ui
      • sdc_close
      • sdc_goto
      • sdc_open
      • set_location_change_handler
      • set_message_area_configure_handler
      • set_message_area_write_handler
      • set_qmessage_handler
      • set_show_error_handler
      • set_status_change_handler
      • set_tempfile_close_handler
      • set_tempfile_create_handler
    • Sample Projects
  • SilverSharp
    • Notes for SilverC developers
      • Using the pm_family of functions
      • SilverC Class Compatibility
    • Traversing entities with BosList
    • Enumerators
      • AttributeList
      • BosList
        • BosList.EveryBosNode method
        • BosList.FromAncestors method
        • BosList.FromChildren method
        • BosList.FromDescendants method
        • BosList.FromQgroup method
        • BosList.FromGroup method
        • BosList.FromFont method
      • EdgeList
        • EdgeList.FromObject method
      • PrimList
        • PrimList.FromChildren method
        • PrimList.FromPgroup method
      • SchemaList
        • SchemaList.FromBos method
      • TagList
        • TagList.FromBos method
      • VertexList
        • VertexList.FromObject method
    • Simple Data Types
      • EDGE_NODE
        • ToString method
      • FontStyle
        • ToString method
      • MATRIX
        • Clear method
        • CopyAndInvert method
          • CopyAndTransform method
        • Invert method
        • MATRIX method
        • Rotate methods
        • Scale methods
        • ToString method
        • Transform method
        • Translate method
        • Transpose method
      • SS_RGB
        • FromColor method
        • FromColorIndex method
        • FromCOLORREF method
        • FromRGB method
        • FromSolidBrush method
        • Parse method
        • SS_RGB method
        • ToColor method
        • ToColorIndex method
        • ToCOLORREF method
        • ToRGB method
        • ToSolidBrush method
        • ToString method
      • SS_XYZ
        • Clear method
        • GetMagnitude method
        • GetMagnitudeSquared method
        • Normalize method
        • SetMagnitude method
        • SS_XYZ method
        • ToString methods
      • WidthStyle
        • WidthStyle method
        • ToString method
    • Enumerations
      • BosBits1
      • BosBits2
      • CongruentStatus
      • CV
      • FindBits
      • GenericTypes
      • Keys
      • Notation
      • PaintingBits
      • PointVsStatus
      • PrimBits
      • SilverStatus
      • SSVarTypes
      • UnitsOfMeasure
    • The State class
    • Primitive Types
      • BPOINT_NODE
        • BPOINT_NODE methods
      • CURVE_NODE
        • CURVE_NODE methods
      • LINE_NODE
        • LINE_NODE methods
      • MESH_NODE
        • MESH_NODE methods
      • POINT_NODE
        • POINT_NODE methods
      • POLYGON_NODE
        • POLYGON_NODE methods
      • PRIM_NODE
        • Equals method
        • IsEmpty method
        • ToString method
      • ROUND_NODE
        • ROUND_NODE methods
      • SPOINT_NODE
        • SPOINT_NODE methods
    • Entity types
      • BLOCK_NODE
        • BLOCK_NODE methods
        • FindChild method
      • BOS_NODE
        • Equals method
        • IsEmpty method
        • ToString method
      • DETAIL_NODE
        • DETAIL_NODE methods
      • OBJECT_NODE
        • OBJECT_NODE methods
      • SYMBOL_NODE
        • SYMBOL_NODE methods
      • TEXT_NODE
        • TEXT_NODE methods
    • Internal Structures
      • ATTRIBUTE_NODE
        • ToString method
      • DIM_STUFF
      • FONT_NODE
        • ToString method
      • MODEL_NODE
        • ToString method
      • PATCH_NODE
      • SCHEMA_NODE
      • SS_COEF
        • Clear method
        • GetMagnitude method
        • IsNull method
        • Normalize method
        • SetMagnitude method
        • SS_COEF methods
        • ToString methods
      • SURFACE_NODE
      • TAG_NODE
      • TEXTURE_DATA
    • The Events class
      • LocationChange Event
      • MessageAreaConfigure Event
      • MessageAreaWrite Event
      • QMessage Event
      • ShowError Event
      • StatusChange Event
      • TempfileClose Event
      • TempfileCreate Event
  • Support
  • Copyright and Disclaimer
  • Download
    • SilverScreen
    • Developer Toolkit
    • SilverSharp Sample Programs
  • Version History

© 2020 Schroff Development Corporation