Classes | |
| class | acis_scm_entity_mgr |
| Concrete entity manager class for ACIS Assembly Modeling with the Scheme example application. More... | |
| class | acis_scm_entity_mgr_factory |
Concrete entity manager factory class for creating acis_scm_entity_mgr objects. More... | |
| class | GC_Object |
| Virtual class from which objects which have pointers to objects which are allocated off the heap can be derived. More... | |
| class | param_string |
| References parameters. More... | |
| class | PART_CONTEXT |
| The PART_CONTEXT object. More... | |
| class | scheme_error_callback_list |
Provides a type-safe interface to the toolkit_callback_list and the execute method. More... | |
| class | scm_pick_manager |
| The scm_pick_manager object. More... | |
| struct | ScmObject |
| Declaration of Scheme object data type. More... | |
Defines | |
| #define | SCM_INIT(proc) static user_scm_init name2(proc,_SI)(proc) |
| Macro for registering a scheme initialization procedure. | |
| #define | SCM_PROC(n1, n2, name, proc) static user_scm_proc name2(proc,_SI)(n1,n2,name,(ScmObject (*)(...))proc) |
| Macro for registering a scheme procedure (extension). | |
| #define | SCM_PROC_EX(n1, n2, name, proc, help) static user_scm_proc name2(proc,_SI)(n1,n2,name,(ScmObject (*)(...))proc, help) |
| Macro for registering a scheme procedure (extension). | |
Functions | |
| PART_CONTEXT * | active_part_context () |
Gets the active PART_CONTEXT. | |
| outcome | api_pm_add_entity (ENTITY *entity1, PART *part1) |
Adds an ENTITY to a PART. | |
| outcome | api_pm_create_part (unsigned int size, PART *&part1) |
Creates a new PART. | |
| outcome | api_pm_delete_all_states (HISTORY_STREAM *hs=NULL) |
| Deletes all states. | |
| outcome | api_pm_delete_part (PART *part1) |
Deletes a PART. | |
| outcome | api_pm_entity_id (ENTITY *ent, entity_id_t &id, PART *&part) |
Gets the entity ID and part for an ENTITY. | |
| outcome | api_pm_load_part (FILE *fp, logical text_mode, PART *the_part, logical with_history, ENTITY_LIST &new_entities) |
Loads a file into a PART. | |
| outcome | api_pm_lookup_entity (entity_id_t id, PART *part, ENTITY *&ent) |
Gets an entity given an ID and a PART. | |
| outcome | api_pm_name_state (const char *name, HISTORY_STREAM *hs=NULL) |
| Names the current state. | |
| outcome | api_pm_note_state (outcome out, int &depth) |
| Marks the end of a state. | |
| outcome | api_pm_part_entities (PART *part1, entity_filter *filter, ENTITY_LIST &ent) |
Gets a list of entities in a PART. | |
| outcome | api_pm_remove_entity (ENTITY *entity1) |
Removes an ENTITY from a part. | |
| outcome | api_pm_roll_n_states (int n_wanted, HISTORY_STREAM *hs, int &n_actual) |
| Rolls forward or backward a specified number of states. | |
| outcome | api_pm_roll_to_state (const char *name, HISTORY_STREAM *hs, int &n_actual) |
| Rolls to the start of a named state. | |
| outcome | api_pm_save_part (FILE *fp, logical text_mode, PART *the_part, logical with_history=0, logical mainline_only=0) |
Saves a PART to a file. | |
| outcome | api_pm_start_state (int &depth) |
| Marks the start of a state. | |
| void | scheme_error_callback_list::append (scheme_error_callback *cb) |
| Appends a scheme error callback list. | |
| void | delete_GC_Objects () |
Deletes the GC_Object. | |
| void | end_entity_creation (ENTITY *, outcome, logical displayable=TRUE) |
| Mark end of entity creation. | |
| void | end_entity_creation2 (ENTITY *, outcome, logical displayable=TRUE) |
| Mark end of entity creation. | |
| void | end_entity_modification (ENTITY *, outcome, logical redisplay=TRUE) |
| Mark end of entity modification. | |
| void | end_entity_modification2 (ENTITY *, outcome, logical redisplay=TRUE) |
| Mark end of entity modification. | |
| void | scheme_error_callback_list::execute () |
| Cleans up the application. | |
| virtual void | scheme_error_callback::execute () |
| This is the only interesting method. | |
| PART_CONTEXT * | get_part_context (const ENTITY *ent) |
Gets the PART_CONTEXT from an ENTITY. | |
| scheme_error_callback_list & | get_scheme_error_callback_list () |
| Gets a global list of scheme error callbacks. | |
| APATTERN * | get_Scm_APATTERN (ScmObject) |
| Get ACIS PATTERN from scheme object. | |
| BODY * | get_Scm_Body (ScmObject) |
| Get ACIS BODY from scheme object. | |
| logical | get_Scm_Boolean (ScmObject o) |
| Converts scheme boolean into logical. | |
| int | get_Scm_Boolean_Array (ScmObject, int *&) |
| Converts scheme boolean arrat into array of logical. | |
| wchar_t * | get_Scm_BString (ScmObject) |
| Makes wchar from scheme string object. | |
| COEDGE * | get_Scm_Coedge (ScmObject) |
| Get ACIS COEDGE from scheme object. | |
| EDGE * | get_Scm_Edge (ScmObject) |
| Get ACIS EDGE from scheme object. | |
| ENTITY * | get_Scm_Entity (ScmObject o, entity_test_proc test, const char *type) |
Creates a C++ ENTITY from a Scheme entity. | |
| ENTITY * | get_Scm_Entity (ScmObject o, const entity_filter &filt, const char *type) |
Creates a C++ ENTITY from a Scheme entity. | |
| ENTITY * | get_Scm_Entity (ScmObject e) |
Creates a C++ ENTITY from a Scheme entity. | |
| int | get_Scm_Entity_Array (ScmObject, ENTITY **&) |
| Creates a C++ ENTITY array from a Scheme Entity List, returns number of elements. | |
| entity_handle * | get_Scm_Entity_Handle (ScmObject o) |
| Creates a C++ entity_handle from a Scheme entity. | |
| void | get_Scm_Entity_List (ScmObject, ENTITY_LIST &) |
| Creates a C++ ENTITY_LIST from a Scheme list. | |
| FACE * | get_Scm_Face (ScmObject) |
| Get ACIS FACE from scheme object. | |
| SPAvector | get_Scm_Gvector (ScmObject sp) |
Creates a C++ SPAvector from a Scheme gvector object. | |
| int | get_Scm_Gvector_List (ScmObject list, SPAvector *&vecs) |
| Create array of SPAvector from scheme object gvector list. | |
| int | get_Scm_Integer (ScmObject o) |
| Converts scheme integer into c++ integer. | |
| int | get_Scm_Integer_Array (ScmObject, int *&) |
| Converts scheme integer list into c++ integer array. | |
| law * | get_Scm_Law (ScmObject r) |
Creates a C++ law from a Scheme law object. | |
| LAW * | get_Scm_LAW (ScmObject) |
| Get ACIS LAW from scheme object. | |
| long | get_Scm_Long (ScmObject o) |
| Converts scheme long into c++ long. | |
| int | get_Scm_Long_Array (ScmObject, long *&) |
| Converts scheme long list into c++ long array. | |
| LOOP * | get_Scm_Loop (ScmObject) |
| Get ACIS LOOP from scheme object. | |
| SPAposition | get_Scm_Position (ScmObject sp) |
Creates a C++ SPAposition from a Scheme position object. | |
| int | get_Scm_Procedure_MaxArgs (ScmObject p) |
| Get the maximum number of arguments the scheme extension requires. | |
| int | get_Scm_Procedure_MinArgs (ScmObject p) |
| Get the minum number of arguments the scheme extension requires. | |
| double | get_Scm_Real (ScmObject o) |
| Converts scheme real into c++ double. | |
| int | get_Scm_Real_Array (ScmObject, double *&) |
| Converts scheme real arrat into c++ double array. | |
| int | get_Scm_Real_List (ScmObject list, double *&dbls) |
| Converts scheme real list into c++ double array. | |
| BODY * | get_Scm_Solid (ScmObject) |
| Get ACIS BODY from scheme object. | |
| const char * | get_Scm_String (ScmObject s) |
| Creates a C++ const char* from a Scheme string object. | |
| TCOEDGE * | get_Scm_Tcoedge (ScmObject) |
| Get ACIS TCOEDGE from scheme object. | |
| TEDGE * | get_Scm_Tedge (ScmObject) |
| Get ACIS TEDGE from scheme object. | |
| SPAtransf | get_Scm_Transform (ScmObject t) |
Creates a C++ SPAtransf from a Scheme transform object. | |
| WIRE * | get_Scm_Wire (ScmObject) |
| Get ACIS WIRE from scheme object. | |
| BODY * | get_Scm_Wire_Body (ScmObject) |
| Get ACIS Wire BODY from scheme object (must not have faces). | |
| logical | is_Scm_Boolean (ScmObject o) |
| Determines if a scheme object is of type boolean. | |
| logical | is_Scm_Char (ScmObject c) |
| Determines if a scheme object is of type character. | |
| logical | is_Scm_Entity (ScmObject o, entity_test_proc test) |
Determines if a Scheme object is an ENTITY. | |
| logical | is_Scm_Entity (ScmObject o, const entity_filter &filt) |
Determines if a Scheme object is an ENTITY. | |
| logical | is_Scm_Entity (ScmObject e) |
Determines if a Scheme object is an ENTITY. | |
| logical | is_Scm_Entity_List (ScmObject) |
| Determines if a Scheme object is an ENTITY_LIST. | |
| logical | is_Scm_Entray (ScmObject r) |
| Determines if a Scheme object is an entray. | |
| logical | is_Scm_Gvector (ScmObject) |
| Is Scheme object a gvector. | |
| logical | is_Scm_Gvector_List (ScmObject list) |
| Is scheme object a list of gvectors. | |
| long | is_Scm_Hoops_Key (ScmObject o) |
| Is scheme object of type 64 bit integer. | |
| logical | is_Scm_Integer (ScmObject x) |
| Determines if a scheme object is of type integer. | |
| logical | is_Scm_Integer_Array (ScmObject) |
| Determines if a scheme object is of type integer array. | |
| logical | is_Scm_Law (ScmObject) |
| Is scjeme object of type law. | |
| logical | is_Scm_List (ScmObject o) |
| Determines if a scheme object is of type scheme list. | |
| logical | is_Scm_Long (ScmObject x) |
| Determines if a scheme object is of type long. | |
| logical | is_Scm_Long_Array (ScmObject o) |
| Determines if a scheme object is of type long array. | |
| logical | is_Scm_Null (ScmObject o) |
| Determines if a scheme object is of type null. | |
| logical | is_Scm_Number (ScmObject x) |
| Determines if a scheme object is of type number. | |
| logical | is_Scm_Number_Array (ScmObject) |
| Determines if a scheme object is of type scheme number array. | |
| logical | is_Scm_Pair (ScmObject o) |
| Determines if a scheme object is of type pair. | |
| logical | is_Scm_Procedure (ScmObject p) |
| Determines if a scheme object is of type procedure. | |
| logical | is_Scm_Real (ScmObject o) |
| Determines if a scheme object is of type real. | |
| logical | is_Scm_Real_List (ScmObject list) |
| Determines if a Scheme object is a list of reals. | |
| logical | is_Scm_String (ScmObject s) |
| Determines if a scheme object is of type string. | |
| logical | is_Scm_Symbol (ScmObject s) |
| Determines if a scheme object is of type scheme symbol. | |
| logical | is_Scm_Vector (ScmObject v) |
| Is scheme object of type gvector. | |
| ScmObject | make_Scm_Boolean_List (int, logical *) |
| Creates scheme logical object from c++ logical. | |
| ScmObject | make_Scm_EmptyList () |
| Make scheme void object. | |
| ScmObject | make_Scm_Entity (const entity_handle *ent_hdl) |
| Creates a Scheme entity from an entity handle. | |
| ScmObject | make_Scm_Entity (ENTITY *ent) |
Creates a Scheme entity from a C++ ENTITY. | |
| ScmObject | make_Scm_Entity_List (const entity_handle_list &ent_hdls) |
Creates a list of Scheme entities from an entity_handle_list. | |
| ScmObject | make_Scm_Entity_List (int num, ENTITY *elist[]) |
| Creates a list of Scheme entities from an ENTITY array. | |
| ScmObject | make_Scm_Entity_List (const ENTITY_LIST &elist) |
Creates a list of Scheme entities from an ENTITY_LIST object. | |
| ScmObject | make_Scm_Gvector (const SPAvector &) |
| Make a scheme gvector from SPAvector. | |
| ScmObject | make_Scm_Gvector (double x, double y, double z) |
| Make a scheme gvector from three doubles. | |
| ScmObject | make_Scm_Gvector_List (int nvecs, const SPAvector *vecs) |
| Make a list of scheme gvectors from array of SPAvector. | |
| ScmObject | make_Scm_Integer (int n) |
| Creates scheme integer object from c++ integer. | |
| ScmObject | make_Scm_Integer_List (int, int *) |
| Creates scheme integer list object from c++ integer array. | |
| ScmObject | make_Scm_Law (law *eq) |
| Make ACIS law from scheme object. | |
| ScmObject | make_Scm_Long (long l) |
| Creates scheme long object from c++ long. | |
| ScmObject | make_Scm_Long_List (int, long *) |
| Creates scheme long list from c++ long array. | |
| ScmObject | make_Scm_Real (double x) |
| Creates scheme real object from c++ double. | |
| ScmObject | make_Scm_Real_List (int, double *) |
| Creates scheme real list object from c++ double array. | |
| ScmObject | make_Scm_String (const wchar_t *mbs) |
| Makes scheme string from wchar. | |
| ScmObject | make_Scm_String (wchar_t *ws) |
| Makes scheme string from c++ wide char. | |
| ScmObject | make_Scm_String (const char *s) |
| Makes scheme string from c++ chars. | |
| ScmObject | make_Scm_Tensor (tensor &t) |
| Make scheme tensor object from tensor. | |
| void | refresh_all (logical update_sils=FALSE) |
| Refreshes all views. | |
| int | scheme_process (const char *inpLine, int echo) |
| Builds and evaluates a Scheme command, optionally echoing the prompt and result. | |
| const char * | SchemeCommand (const char *inpLine, param_string &scheme_result, int &nest_level) |
| Evaluates Scheme expressions given as a character string. | |
| int | SchemeEvaluate (const char *str) |
| Evaluates a string or Scheme object. | |
| int | SchemeEvaluate (const char *str, param_string &result_string) |
| Evaluates a string or Scheme object. | |
| int | SchemeEvaluate (const char *str, ScmObject &result) |
| Evaluates a string or Scheme object. | |
| int | SchemeEvaluate (ScmObject expr, ScmObject &result) |
| Evaluates a string or Scheme object. | |
| int | SchemeFuncall (ScmObject proc, ScmObject args, ScmObject &result) |
| Evaluates an object that is a Scheme procedure against a list of arguments. | |
| logical | SchemeGetValue (const char *expression, ENTITY *&value) |
Gets the value of a Scheme expression that returns an ENTITY*. | |
| logical | SchemeGetValue (const char *expression, double &value) |
Gets the value of a Scheme expression that returns a double. | |
| logical | SchemeGetValue (const char *expression, int &value) |
Gets the value of a Scheme expression that returns an int. | |
| int | SchemeLoad (const char *filename, logical journal) |
Loads a Scheme file into memory via journal:load. | |
| int | SchemeLoad (const char *filename) |
| Loads a Scheme file into memory. | |
| int | SchemeObjectToString (ScmObject obj, param_string &result_string) |
| Converts a Scheme object to a string. | |
| logical | SchemeSetVariable (const char *variable_name, const char *value) |
| Sets the value of a Scheme variable. | |
| logical | SchemeSetVariable (const char *variable_name, ENTITY *value) |
| Sets the value of a Scheme variable. | |
| logical | SchemeSetVariable (const char *variable_name, double value) |
| Sets the value of a Scheme variable. | |
| logical | SchemeSetVariable (const char *variable_name, int value) |
| Sets the value of a Scheme variable. | |
| ScmObject | scm_Car (ScmObject o) |
| Get car from scheme list. | |
| ScmObject | scm_Cdr (ScmObject o) |
| Get cdr from schmeme list. | |
| int | Scm_List_Length (ScmObject o) |
| Get number of elements in scheme list. | |
| void | set_Scm_Gvector (ScmObject, const SPAvector &) |
| Change the coordintates of a scheme gvector using the coordintates of input SPAvector. | |
| void | start_entity_creation (void) |
Prepares for the definition of a new ENTITY. | |
| void | start_entity_modification (void) |
Prepares for ENTITY modification. | |
| int | StringToSchemeObject (const char *str, ScmObject &result) |
| Reads a string into a Scheme object. | |
| void | update_entity (ENTITY *, logical redisplay=TRUE) |
update_entity is used to update an ENTITY when it was been modified. | |
at <tran_typ.hxx>
at <sprocess.h>
at <scmpickmgr.hxx>
at <scmobject.h>
at <scmapp.hxx>
at <scm_eval.hxx>
at <scheme.hxx>
at <pos_typ.hxx>
at <pm_api.hxx>
at <part_ctx.hxx>
at <parm_str.hxx>
at <load_part.hxx>
at <law_typ.hxx>
at <gvec_typ.hxx>
at <gc_obj.hxx>
at <err_cb.hxx>
at <eray_typ.hxx>
at <ent_utl.hxx>
at <ent_typ.hxx>
| #define SCM_INIT | ( | proc | ) | static user_scm_init name2(proc,_SI)(proc) |
Macro for registering a scheme initialization procedure.
| #define SCM_PROC | ( | n1, | |||
| n2, | |||||
| name, | |||||
| proc | ) | static user_scm_proc name2(proc,_SI)(n1,n2,name,(ScmObject (*)(...))proc) |
Macro for registering a scheme procedure (extension).
| #define SCM_PROC_EX | ( | n1, | |||
| n2, | |||||
| name, | |||||
| proc, | |||||
| help | ) | static user_scm_proc name2(proc,_SI)(n1,n2,name,(ScmObject (*)(...))proc, help) |
Macro for registering a scheme procedure (extension).
| PART_CONTEXT* active_part_context | ( | ) |
Gets the active PART_CONTEXT.
Role: Use this method when adding a new ENTITY to a PART.
Effect: Read-only
include <scmapp.hxx>
Role: This API adds a specified entity to a specified part. If the entity is already in a different PART, it is first removed from the old part. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Changes model
| entity1 | entity to be added. | |
| part1 | part to which to add entity. |
include <pm_api.hxx>
Creates a new PART.
Role: This api initially allocates enough space to contain the specified size (the number of entities). All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Changes model
| size | initial size of entity table for part. | |
| part1 | returns part. |
include <pm_api.hxx>
| outcome api_pm_delete_all_states | ( | HISTORY_STREAM * | hs = NULL |
) |
Deletes all states.
Role: This API deletes all operations defined using api_pm_start_state and api_pm_note_state for the given history stream. Use this API when clearing a part in preparation for loading or creating a new part. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: System routine
| hs | history stream to delete. |
include <pm_api.hxx>
Deletes a PART.
Role: All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Changes model
| part1 | part. |
include <pm_api.hxx>
| outcome api_pm_entity_id | ( | ENTITY * | ent, | |
| entity_id_t & | id, | |||
| PART *& | part | |||
| ) |
Gets the entity ID and part for an ENTITY.
Role: This API returns the entity ID (id) and the part containing the specified entity. If the entity is not in the part, this API returns the entity ID (id) as 0 and the part as NULL. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Read-only
| ent | entity to identify. | |
| id | entity to identify. | |
| part | part containing the entity. |
include <pm_api.hxx>
| outcome api_pm_load_part | ( | FILE * | fp, | |
| logical | text_mode, | |||
| PART * | the_part, | |||
| logical | with_history, | |||
| ENTITY_LIST & | new_entities | |||
| ) |
Loads a file into a PART.
Role: This API loads the entities defined in an open file fp into the specified part. The file must be open and positioned to the start of the entity data to be read. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Changes model
| fp | file containing entities to load. | |
| text_mode | TRUE (text) or FALSE (binary). | |
| the_part | part in which to load entities. | |
| with_history | TRUE to restore history if it exists in the file. | |
| new_entities | returns list of entities loaded into part. |
include <load_part.hxx>
| outcome api_pm_lookup_entity | ( | entity_id_t | id, | |
| PART * | part, | |||
| ENTITY *& | ent | |||
| ) |
Gets an entity given an ID and a PART.
Role: This API looks up an entity in a part given an entity id. If id does not exist in the part, this API returns NULL. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Read-only
| id | entity ID. | |
| part | part in which to look for entity. | |
| ent | found entity. |
include <pm_api.hxx>
| outcome api_pm_name_state | ( | const char * | name, | |
| HISTORY_STREAM * | hs = NULL | |||
| ) |
Names the current state.
Role: This API assigns a name to the recent operation. Call api_pm_name_state immediately after api_pm_note_state and before opening the next sate with to api_pm_start_state. api_pm_name_state names the most recent noted state. api_pm_name_state can also be called immediately following starting the modeler if it were desired that the "root" state be named. Use the specified name in calls to api_pm_roll_to_state to roll to the start of the current operation. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: System routine
| name | name to give to current operation. | |
| hs | returns history stream. |
include <pm_api.hxx>
Marks the end of a state.
Role: Match calls to api_pm_note_state with earlier calls to api_pm_start_state. Pairs can be nested to create larger operations. A new delta state is created for the outermost call only. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
The calls to api_pm_start_state and api_pm_note_state must be strictly paired regardless of errors. Start state and note state are paired by the use of a static level counter. If the note state were skipped when there was an error, the counter would be off by one and subsequent states would not be noted.
int depth; api_pm_start_state(depth); API_BEGIN
result = api_do_stuff_1(args);
check_outcome(result); // If result is not ok,
// jump to API_END
// Alternate style of using check_outcome check_outcome(api_do_stuff_2(args));
// Tell the part manager and graphics what happened record_entity(new top level entity); update_entity(modified top level entity);
API_END api_pm_note_state(outcome(API_SUCCESS), depth);If an error occurs, it will be caught by
API_END. The api_pm_note_state is always called regardless of error. Note that the outcome is checked before recording or updating entities, so the part manager and graphics don't see anything bad. API_SYS_BEGIN/END or EXCEPTION_BEGIN/TRY/CATCH/END with api_pm_start_state in the EXCEPTION_BEGIN block and api_pm_note_state in an EXCEPTION_CATCH( TRUE ) block. | out | outcome of operation. | |
| depth | depth of operation nesting after call. |
include <pm_api.hxx>
| outcome api_pm_part_entities | ( | PART * | part1, | |
| entity_filter * | filter, | |||
| ENTITY_LIST & | ent | |||
| ) |
Gets a list of entities in a PART.
Role: This API returns the list of entities fount in a part that match the specified filter. If filter is NULL, this API returns all entities in the part. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Read-only
| part1 | part from which to get entities. | |
| filter | filter used to select entities or NULL. | |
| ent | returns list of entities found. |
include <pm_api.hxx>
Removes an ENTITY from a part.
Role: All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Changes model
| entity1 | entity to be removed. |
include <pm_api.hxx>
| outcome api_pm_roll_n_states | ( | int | n_wanted, | |
| HISTORY_STREAM * | hs, | |||
| int & | n_actual | |||
| ) |
Rolls forward or backward a specified number of states.
Role: A negative number rolls to an earlier state; a positive number rolls to a later state. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: System routine
| n_wanted | number of states to roll. | |
| hs | history stream to roll. | |
| n_actual | returns actual number of states rolled. |
include <pm_api.hxx>
| outcome api_pm_roll_to_state | ( | const char * | name, | |
| HISTORY_STREAM * | hs, | |||
| int & | n_actual | |||
| ) |
Rolls to the start of a named state.
Role: If multiple operations have the same name, the latest one before the current state is used. If no operations with the given name occur before the current state, the first one after the current state is used. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: System routine
| name | name of state to which to roll. | |
| hs | history stream. | |
| n_actual | number of states actually rolled. |
include <pm_api.hxx>
| outcome api_pm_save_part | ( | FILE * | fp, | |
| logical | text_mode, | |||
| PART * | the_part, | |||
| logical | with_history = 0, |
|||
| logical | mainline_only = 0 | |||
| ) |
Saves a PART to a file.
Role: This API saves the entities contained in a PART to an open file (fp). The file must be open and positioned to the location to which the entities are to be written.
If the optional with_history is specified as TRUE, roll back history data will be saved as well. If the optional mainline_only flag is specified as TRUE, only un-rolled states will be saved to the file. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
Effect: Changes model
| fp | file in which to save entities. | |
| text_mode | TRUE (text) or FALSE (binary). | |
| the_part | PART containing entities to save. | |
| with_history | TRUE to save history stream to the file. | |
| mainline_only | TRUE to ignore rolled states. |
include <pm_api.hxx>
| outcome api_pm_start_state | ( | int & | depth | ) |
Marks the start of a state.
Role: Match calls to api_pm_start_state with later calls to api_pm_note_state. Pairs may be nested to create larger operations. A new delta state is started for the outermost call only. All api_pm functions should be thought of as requiring the use of the PART_CONTEXT class.
The calls to api_pm_start_state and api_pm_note_state must be strictly paired regardless of errors. Start state and note state are paired by the use of a static level counter. If the note state were skipped when there was an error, the counter would be off by one and subsequent states would not be noted.
int depth; api_pm_start_state(depth); API_BEGIN
result = api_do_stuff_1(args);
check_outcome(result); // If result is not ok,
// jump to API_END
// Alternate style of using check_outcome check_outcome(api_do_stuff_2(args));
// Tell the part manager and graphics what happened record_entity(new top level entity); update_entity(modified top level entity);
API_END api_pm_note_state(outcome(API_SUCCESS), depth);If an error occurs, it will be caught by
API_END. The api_pm_note_state is always called regardless of error. Note that the outcome is checked before recording or updating entities, so the part manager and graphics don't see anything bad. API_SYS_BEGIN/END or EXCEPTION_BEGIN/TRY/CATCH/END with api_pm_start_state in the EXCEPTION_BEGIN block and api_pm_note_state in an EXCEPTION_CATCH( TRUE ) block. | depth | depth of nesting of operations after call. |
include <pm_api.hxx>
| void scheme_error_callback_list::append | ( | scheme_error_callback * | cb | ) | [inline, inherited] |
Appends a scheme error callback list.
| cb | scheme error callback. |
| void delete_GC_Objects | ( | ) |
Deletes the GC_Object.
Effect: System routine This procedure deletes all of the GC_Objects that the system knows about. It does not do any tests to see if they are still in use. It is intended to be called when you are exitting the application and want to free up any memory that was allocated.
include <gc_obj.hxx>
Mark end of entity creation.
The difference between end_entity_creation and end_entity_creation2 is that end_entity_creation will raise an exception (it calls sys_error) if the outcome is not OK, while end_entity_creation2 will just return. The optional displayable argument controls whether or not the ENTITY is displayed. If it is TRUE, then the display is controlled by the auto display flag setting for the PART_CONTEXT to which the ENTITY is added. If it is FALSE, it will not be displayed.
include <ent_utl.hxx>
Mark end of entity creation.
The difference between end_entity_creation and end_entity_creation2 is that end_entity_creation will raise an exception (it calls sys_error) if the outcome is not OK, while end_entity_creation2 will just return. The optional displayable argument controls whether or not the ENTITY is displayed. If it is TRUE, then the display is controled by the auto display flag setting for the PART_CONTEXT to which the ENTITY is added. If it is FALSE, it will not be displayed.
include <ent_utl.hxx>
Mark end of entity modification.
The difference between end_entity_modification and end_entity_modification2 is that end_entity_modification will raise an exception (it calls sys_error) if the outcome is not OK, while end_entity_modification2 will just return. The optional redisplay argument controls whether or not the display should be updated.
include <ent_utl.hxx>
Mark end of entity modification.
The difference between end_entity_modification and end_entity_modification2 is that end_entity_modification will raise an exception (it calls sys_error) if the outcome is not OK, while end_entity_modification2 will just return. The optional redisplay argument controls whether or not the display should be updated.
include <ent_utl.hxx>
| void scheme_error_callback_list::execute | ( | ) | [inherited] |
Cleans up the application.
Role: However, a new class must be derived from scheme_error_callback_list, and this method must be overloaded.
| virtual void scheme_error_callback::execute | ( | ) | [virtual, inherited] |
This is the only interesting method.
To create a error cleanup callback, derive a new class from scheme_error_callback, and overload this virtual method to do the cleanup for your application.
| PART_CONTEXT* get_part_context | ( | const ENTITY * | ent | ) |
Gets the PART_CONTEXT from an ENTITY.
Effect: Read-only
| ent | given entity. |
include <part_ctx.hxx>
| scheme_error_callback_list& get_scheme_error_callback_list | ( | ) |
| logical get_Scm_Boolean | ( | ScmObject | o | ) | [inline] |
Converts scheme boolean into logical.
| int get_Scm_Boolean_Array | ( | ScmObject | , | |
| int *& | ||||
| ) |
Converts scheme boolean arrat into array of logical.
| wchar_t* get_Scm_BString | ( | ScmObject | ) |
Makes wchar from scheme string object.
| ENTITY* get_Scm_Entity | ( | ScmObject | o, | |
| entity_test_proc | test, | |||
| const char * | type | |||
| ) |
Creates a C++ ENTITY from a Scheme entity.
Role: type is a character string describing type of ENTITY filter is looking for, such as "BODY", and is used for printing error messages.
This function is overloaded:
Creates an ENTITY from a Scheme entity.
Creates an ENTITY from a Scheme object given an addition constraint in the form of an entity_filter.
Creates an ENTITY from a Scheme object given an addition constraint in the form of an entity test procedure.
Effect: Read-only
| o | Scheme object. | |
| test | entity test. | |
| type | type. |
include <ent_typ.hxx>
| ENTITY* get_Scm_Entity | ( | ScmObject | o, | |
| const entity_filter & | filt, | |||
| const char * | type | |||
| ) |
Creates a C++ ENTITY from a Scheme entity.
Role: type is a character string describing type of ENTITY filter is looking for, such as "BODY", and is used for printing error messages.
This function is overloaded:
Creates an ENTITY from a Scheme entity.
Creates an ENTITY from a Scheme object given an addition constraint in the form of an entity_filter.
Creates an ENTITY from a Scheme object given an addition constraint in the form of an entity test procedure.
Effect: Read-only
| o | Scheme object. | |
| filt | filter test. | |
| type | type. |
include <ent_typ.hxx>
Creates a C++ ENTITY from a Scheme entity.
Role: type is a character string describing type of ENTITY filter is looking for, such as "BODY", and is used for printing error messages.
This function is overloaded:
Creates an ENTITY from a Scheme entity.
Creates an ENTITY from a Scheme object given an addition constraint in the form of an entity_filter.
Creates an ENTITY from a Scheme object given an addition constraint in the form of an entity test procedure.
Effect: Read-only
| e | Scheme object. |
include <ent_typ.hxx>
Creates a C++ ENTITY array from a Scheme Entity List, returns number of elements.
| entity_handle* get_Scm_Entity_Handle | ( | ScmObject | o | ) |
Creates a C++ entity_handle from a Scheme entity.
Role: Retrieves the entity_handle associated with this ENTITY, as long as the ENTITY does exist in a PART and the PART is associated with an asm_model.
| o | Scheme object. |
include <ent_typ.hxx>
| void get_Scm_Entity_List | ( | ScmObject | , | |
| ENTITY_LIST & | ||||
| ) |
Creates a C++ ENTITY_LIST from a Scheme list.
Creates a C++ SPAvector from a Scheme gvector object.
Effect: Read-only
| sp | Scheme object. |
include <gvec_typ.hxx>
Create array of SPAvector from scheme object gvector list.
| int get_Scm_Integer | ( | ScmObject | o | ) | [inline] |
Converts scheme integer into c++ integer.
| int get_Scm_Integer_Array | ( | ScmObject | , | |
| int *& | ||||
| ) |
Converts scheme integer list into c++ integer array.
Creates a C++ law from a Scheme law object.
Limitations: The law created with this function should be removed when no longer needed, to free the memory space.
Effect: Read-only
| r | Scheme object. |
include <law_typ.hxx>
| long get_Scm_Long | ( | ScmObject | o | ) | [inline] |
Converts scheme long into c++ long.
| int get_Scm_Long_Array | ( | ScmObject | , | |
| long *& | ||||
| ) |
Converts scheme long list into c++ long array.
| SPAposition get_Scm_Position | ( | ScmObject | sp | ) |
Creates a C++ SPAposition from a Scheme position object.
Effect: Read-only
| sp | Scheme object. |
include <pos_typ.hxx>
| int get_Scm_Procedure_MaxArgs | ( | ScmObject | p | ) | [inline] |
Get the maximum number of arguments the scheme extension requires.
| int get_Scm_Procedure_MinArgs | ( | ScmObject | p | ) | [inline] |
Get the minum number of arguments the scheme extension requires.
| double get_Scm_Real | ( | ScmObject | o | ) | [inline] |
Converts scheme real into c++ double.
| int get_Scm_Real_Array | ( | ScmObject | , | |
| double *& | ||||
| ) |
Converts scheme real arrat into c++ double array.
| int get_Scm_Real_List | ( | ScmObject | list, | |
| double *& | dbls | |||
| ) |
Converts scheme real list into c++ double array.
| const char * get_Scm_String | ( | ScmObject | s | ) |
Creates a C++ const char* from a Scheme string object.
Role: This function always reuses the same space, so if it is necessary to retain the string for future use, copy it into another space.
Effect: System routine
| s | Scheme object. |
include <parm_str.hxx>
Creates a C++ SPAtransf from a Scheme transform object.
Effect: Read-only
| t | Scheme object. |
include <tran_typ.hxx>
| logical is_Scm_Boolean | ( | ScmObject | o | ) | [inline] |
Determines if a scheme object is of type boolean.
| logical is_Scm_Char | ( | ScmObject | c | ) | [inline] |
Determines if a scheme object is of type character.
| logical is_Scm_Entity | ( | ScmObject | o, | |
| entity_test_proc | test | |||
| ) |
Determines if a Scheme object is an ENTITY.
Role: This function is overloaded and can be used in three ways.
Determines if a Scheme object is an ENTITY.
Determines if a Scheme object is an ENTITY of a type which passes a filter test.
Determines if a Scheme object is an ENTITY which also passes an additional test.
Effect: Read-only
| o | Scheme object. | |
| test | test procedure. |
include <ent_typ.hxx>
| logical is_Scm_Entity | ( | ScmObject | o, | |
| const entity_filter & | filt | |||
| ) |
Determines if a Scheme object is an ENTITY.
Role: This function is overloaded and can be used in three ways.
Determines if a Scheme object is an ENTITY.
Determines if a Scheme object is an ENTITY of a type which passes a filter test.
Determines if a Scheme object is an ENTITY which also passes an additional test.
Effect: Read-only
| o | Scheme object. | |
| filt | filter. |
include <ent_typ.hxx>
| logical is_Scm_Entity | ( | ScmObject | e | ) |
Determines if a Scheme object is an ENTITY.
Role: This function is overloaded and can be used in three ways.
Determines if a Scheme object is an ENTITY.
Determines if a Scheme object is an ENTITY of a type which passes a filter test.
Determines if a Scheme object is an ENTITY which also passes an additional test.
Effect: Read-only
| e | Scheme object. |
include <ent_typ.hxx>
| logical is_Scm_Entity_List | ( | ScmObject | ) |
Determines if a Scheme object is an ENTITY_LIST.
| logical is_Scm_Entray | ( | ScmObject | r | ) |
Determines if a Scheme object is an entray.
Effect: Read-only
| r | Scheme object. |
include <eray_typ.hxx>
| logical is_Scm_Gvector | ( | ScmObject | ) |
Is Scheme object a gvector.
| logical is_Scm_Gvector_List | ( | ScmObject | list | ) |
Is scheme object a list of gvectors.
| long is_Scm_Hoops_Key | ( | ScmObject | o | ) | [inline] |
Is scheme object of type 64 bit integer.
Determines if a scheme object is type hoops key
include <scheme.hxx>
| logical is_Scm_Integer | ( | ScmObject | x | ) | [inline] |
Determines if a scheme object is of type integer.
| logical is_Scm_Integer_Array | ( | ScmObject | ) |
Determines if a scheme object is of type integer array.
| logical is_Scm_List | ( | ScmObject | o | ) | [inline] |
Determines if a scheme object is of type scheme list.
| logical is_Scm_Long | ( | ScmObject | x | ) | [inline] |
Determines if a scheme object is of type long.
| logical is_Scm_Long_Array | ( | ScmObject | o | ) | [inline] |
Determines if a scheme object is of type long array.
| logical is_Scm_Null | ( | ScmObject | o | ) | [inline] |
Determines if a scheme object is of type null.
| logical is_Scm_Number | ( | ScmObject | x | ) | [inline] |
Determines if a scheme object is of type number.
| logical is_Scm_Number_Array | ( | ScmObject | ) |
Determines if a scheme object is of type scheme number array.
| logical is_Scm_Pair | ( | ScmObject | o | ) | [inline] |
Determines if a scheme object is of type pair.
| logical is_Scm_Procedure | ( | ScmObject | p | ) | [inline] |
Determines if a scheme object is of type procedure.
| logical is_Scm_Real | ( | ScmObject | o | ) | [inline] |
Determines if a scheme object is of type real.
| logical is_Scm_Real_List | ( | ScmObject | list | ) |
Determines if a Scheme object is a list of reals.
Effect: Read-only
| list | Scheme object. |
include <scheme.hxx>
| logical is_Scm_String | ( | ScmObject | s | ) | [inline] |
Determines if a scheme object is of type string.
| logical is_Scm_Symbol | ( | ScmObject | s | ) | [inline] |
Determines if a scheme object is of type scheme symbol.
| logical is_Scm_Vector | ( | ScmObject | v | ) | [inline] |
Is scheme object of type gvector.
| ScmObject make_Scm_Boolean_List | ( | int | , | |
| logical * | ||||
| ) |
Creates scheme logical object from c++ logical.
| ScmObject make_Scm_EmptyList | ( | ) | [inline] |
Make scheme void object.
| ScmObject make_Scm_Entity | ( | const entity_handle * | ent_hdl | ) |
Creates a Scheme entity from an entity handle.
Role: This routine ensures that any side effects from making the Scheme object are registered in the proper history stream.
| ent_hdl | entity handle. |
include <ent_typ.hxx>
| ScmObject make_Scm_Entity_List | ( | const entity_handle_list & | ent_hdls | ) |
Creates a list of Scheme entities from an entity_handle_list.
Role: This routine ensures that any side effects from making the Scheme objects are registered in the proper history stream.
Limitation: All entity handles must be from the same model.
| ent_hdls | entity handle list. |
include <ent_typ.hxx>
Creates a list of Scheme entities from an ENTITY array.
| ScmObject make_Scm_Entity_List | ( | const ENTITY_LIST & | elist | ) |
Creates a list of Scheme entities from an ENTITY_LIST object.
| elist | entity list. |
include <ent_typ.hxx>
| ScmObject make_Scm_Gvector | ( | double | x, | |
| double | y, | |||
| double | z | |||
| ) |
Make a scheme gvector from three doubles.
Make a list of scheme gvectors from array of SPAvector.
| ScmObject make_Scm_Integer | ( | int | n | ) | [inline] |
Creates scheme integer object from c++ integer.
| ScmObject make_Scm_Integer_List | ( | int | , | |
| int * | ||||
| ) |
Creates scheme integer list object from c++ integer array.
| ScmObject make_Scm_Long | ( | long | l | ) | [inline] |
Creates scheme long object from c++ long.
| ScmObject make_Scm_Long_List | ( | int | , | |
| long * | ||||
| ) |
Creates scheme long list from c++ long array.
| ScmObject make_Scm_Real | ( | double | x | ) | [inline] |
Creates scheme real object from c++ double.
| ScmObject make_Scm_Real_List | ( | int | , | |
| double * | ||||
| ) |
Creates scheme real list object from c++ double array.
| ScmObject make_Scm_String | ( | const wchar_t * | mbs | ) |
Makes scheme string from wchar.
| ScmObject make_Scm_String | ( | wchar_t * | ws | ) |
Makes scheme string from c++ wide char.
| ScmObject make_Scm_String | ( | const char * | s | ) |
Makes scheme string from c++ chars.
| void refresh_all | ( | logical | update_sils = FALSE |
) |
| int scheme_process | ( | const char * | inpLine, | |
| int | echo | |||
| ) |
Builds and evaluates a Scheme command, optionally echoing the prompt and result.
Role: scheme_process is called repeatedly with input lines that partially form a Scheme command. After each invocation, the function returns the current nesting level of parenthesis. When it has compiled a complete Scheme command with matching parentheses and quotes (the nesting level returns as 0), it evaluates the command by calling do_scheme. All Scheme procedures in the input string are evaluated before returning.
Effect: System routine
| inpLine | command string. | |
| echo | echo. |
include <sprocess.h>
| const char* SchemeCommand | ( | const char * | inpLine, | |
| param_string & | scheme_result, | |||
| int & | nest_level | |||
| ) |
Evaluates Scheme expressions given as a character string.
Role: Evaluates incomplete or multiple Scheme expressions. Use this function when the expression to be evaluated may not be complete. It looks for matching sets of parentheses and evaluates the expression when the parentheses balance. A string that contains either a partial expression or multiple expressions can be passed in.
If the command string contains more than one expression, the function evaluates the first expression found, sets the scheme_result argument, and returns the part of the command that has not been evaluated yet. When there is a partial expression, the nest_level argument sets to the number of right parentheses required to balance the expression.
The function returns NULL when nothing remains in the command string to be evaluated. It retains partial expressions and uses them as the start of an expression the next time SchemeCommand is called.
The following example illustrates the use of SchemeCommand:
int nestlevel = 0;
param_string result;
const char* cmdstr = command_string;
while(*cmdstr) {
cmdstr = SchemeCommand(cmdstr, result, nestlevel);
const char* result_string = result;
if (nestlevel == 0 && *result_string) {
printf("%s\n", result);
}
}
Effect: System routine | inpLine | Scheme expression. | |
| scheme_result | returns result of first expression evaluation. | |
| nest_level | returns level of parentheses nesting. |
include <scm_eval.hxx>
| int SchemeEvaluate | ( | const char * | str | ) |
Evaluates a string or Scheme object.
Role: This function is overloaded.
It evaluates an expression given as a character string. This is useful for evaluating the expression for its side effects. The function does not return the result of evaluating the expression. The function returns 0 if the procedure successfully evaluates; otherwise, it returns an exception code.
Effect: System routine
| str | command string. |
include <scm_eval.hxx>
| int SchemeEvaluate | ( | const char * | str, | |
| param_string & | result_string | |||
| ) |
Evaluates a string or Scheme object.
Role: This function is overloaded.
It evaluates an expression given by a character string, and returns the result as a param_string. The param_string is cast to a char*. The function returns 0 if the procedure successfully evaluates; otherwise, it returns an exception code.
Effect: System routine
| str | command string. | |
| result_string | returns result. |
include <scm_eval.hxx>
| int SchemeEvaluate | ( | const char * | str, | |
| ScmObject & | result | |||
| ) |
Evaluates a string or Scheme object.
Role: This function is overloaded.
It evaluates a Scheme expression for its result, returned as a Scheme object. This version of SchemeEvaluate evaluates an expression that is given as a character string, and returns the result as a Scheme object. This has the benefit of not having to convert the result to a char* and back with the resulting potential for loss of precision. The is_Scm_(type) and get_Scm_(type) functions are called to check the result and convert it into a C++ object. The function returns 0 if the procedure successfully evaluates; otherwise, it returns an exception code.
Effect: System routine
| str | command string. | |
| result | returns result. |
include <scm_eval.hxx>
Evaluates a string or Scheme object.
Role: This function is overloaded.
It evaluates a Scheme expression that is already a Scheme object. This version of SchemeEvaluate accepts a Scheme expression that has already been parsed into a Scheme object. Because it does not have to go through the Scheme reader to convert a string into an object, it is faster to evaluate the same expression many times. The expression to be evaluated must be protected from garbage collection if the repeated evaluation is not done within the scope of a single C++ procedure. The function returns 0 if the procedure successfully evaluates; otherwise, it returns an exception code.
Effect: System routine
| expr | Scheme expression. | |
| result | returns result. |
include <scm_eval.hxx>
Evaluates an object that is a Scheme procedure against a list of arguments.
Role: Evaluates a Scheme object that is a procedure with arguments. Use this specialized evaluator when writing hook functions to be called from C++.
The first argument is a Scheme procedure; the second argument is a list of Scheme objects containing the arguments to be passed to the procedure.
The function passes back a ScmObject containing the result of the operation. The function returns 0 if the procedure is successful; otherwise, it returns an exception code.
Effect: System routine
| proc | Scheme procedure. | |
| args | arguments to the procedure. | |
| result | returns result of evaluation. |
include <scm_eval.hxx>
| logical SchemeGetValue | ( | const char * | expression, | |
| ENTITY *& | value | |||
| ) |
Gets the value of a Scheme expression that returns an ENTITY*.
Role: Gets the value of a specific data type returned by a Scheme expression when the data type returned by the expression is already known. This function return TRUE if the expression successfully evaluates and the result returns; otherwise, it returns FALSE. SchemeEvaluate can also be used.
This function is overloaded.
Effect: System routine
| expression | string to evaluate. | |
| value | returns ENTITY* value. |
include <scm_eval.hxx>
| logical SchemeGetValue | ( | const char * | expression, | |
| double & | value | |||
| ) |
Gets the value of a Scheme expression that returns a double.
Role: Gets the value of a specific data type returned by a Scheme expression when the data type returned by the expression is already known. This function return TRUE if the expression successfully evaluates and the result returns; otherwise, it returns FALSE. SchemeEvaluate can also be used.
This function is overloaded.
Effect: System routine
| expression | string to evaluate. | |
| value | returns double value. |
include <scm_eval.hxx>
| logical SchemeGetValue | ( | const char * | expression, | |
| int & | value | |||
| ) |
Gets the value of a Scheme expression that returns an int.
Role: Gets the value of a specific data type returned by a Scheme expression when the data type returned by the expression is already known. This function return TRUE if the expression successfully evaluates and the result returns; otherwise, it returns FALSE. SchemeEvaluate can also be used.
This function is overloaded.
Effect: System routine
| expression | string to evaluate. | |
| value | returns integer value. |
include <scm_eval.hxx>
| int SchemeLoad | ( | const char * | filename, | |
| logical | journal | |||
| ) |
Loads a Scheme file into memory via journal:load.
Role: The function returns 0 if the loaded procedure successfully evaluates; otherwise, it returns an exception code.
Effect: System routine
| filename | file to load. |
include <scm_eval.hxx>
| int SchemeLoad | ( | const char * | filename | ) |
Loads a Scheme file into memory.
Role: The function returns 0 if the loaded procedure successfully evaluates; otherwise, it returns an exception code.
Effect: System routine
| filename | file to load. |
include <scm_eval.hxx>
| int SchemeObjectToString | ( | ScmObject | obj, | |
| param_string & | result_string | |||
| ) |
Converts a Scheme object to a string.
Role: Returns 0 if the operation is successful.
Effect: System routine
| obj | Scheme object. | |
| result_string | returns string. |
include <scm_eval.hxx>
| logical SchemeSetVariable | ( | const char * | variable_name, | |
| const char * | value | |||
| ) |
Sets the value of a Scheme variable.
Role: Sets the value of a Scheme variable of a specific data type when the data type of that variable is already known. If the variable does not yet exist a new variable with the given name is created using define.
This function is overloaded.
Effect: System routine
| variable_name | name of variable to set. | |
| value | value to set. |
include <scm_eval.hxx>
| logical SchemeSetVariable | ( | const char * | variable_name, | |
| ENTITY * | value | |||
| ) |
Sets the value of a Scheme variable.
Role: Sets the value of a Scheme variable of a specific data type when the data type of that variable is already known. If the variable does not yet exist a new variable with the given name is created using define.
This function is overloaded.
Effect: System routine
| variable_name | name of variable to set. | |
| value | value to set. |
include <scm_eval.hxx>
| logical SchemeSetVariable | ( | const char * | variable_name, | |
| double | value | |||
| ) |
Sets the value of a Scheme variable.
Role: Sets the value of a Scheme variable of a specific data type when the data type of that variable is already known. If the variable does not yet exist a new variable with the given name is created using define.
This function is overloaded.
Effect: System routine
| variable_name | name of variable to set. | |
| value | value to set. |
include <scm_eval.hxx>
| logical SchemeSetVariable | ( | const char * | variable_name, | |
| int | value | |||
| ) |
Sets the value of a Scheme variable.
Role: Sets the value of a Scheme variable of a specific data type when the data type of that variable is already known. If the variable does not yet exist a new variable with the given name is created using define.
This function is overloaded.
Effect: System routine
| variable_name | name of variable to set. | |
| value | value to set. |
include <scm_eval.hxx>
| int Scm_List_Length | ( | ScmObject | o | ) | [inline] |
Get number of elements in scheme list.
Change the coordintates of a scheme gvector using the coordintates of input SPAvector.
| void start_entity_creation | ( | void | ) |
Prepares for the definition of a new ENTITY.
Role: Use this routine in conjunction with start_entity_creation to bracket modifications to entities. start_entity_creation and end_entity_creation can be nested.
Using start_entity_creation, end_entity_creation, start_entity_modification and end_entity_modification or any associated wrapper functions is not recommended.
Effect: System routine
include <ent_utl.hxx>
| void start_entity_modification | ( | void | ) |
Prepares for ENTITY modification.
Role: Use this routine in conjunction with end_entity_modification to bracket modifications to entities. start_entity_modification and end_entity_modification can be nested.
Using start_entity_creation, end_entity_creation, start_entity_modification, and end_entity_modification or any associated wrapper functions is not recommended.
Effect: System routine
include <ent_utl.hxx>
| int StringToSchemeObject | ( | const char * | str, | |
| ScmObject & | result | |||
| ) |
Reads a string into a Scheme object.
Role: Returns 0 if the operation is successful.
Effect: System routine
| str | input string. | |
| result | returns Scheme object. |
include <scm_eval.hxx>
| void update_entity | ( | ENTITY * | , | |
| logical | redisplay = TRUE | |||
| ) |
update_entity is used to update an ENTITY when it was been modified.
It invokes the update method of the PART_CONTEXT that the ENTITY belongs to. The redisplay argument controls whether or not the display of the ENTITY is updated. It is passed to PART_CONTEXT::update.
include <ent_utl.hxx>