# Draw
TKXSDRAW
XSDRAW

# XSDRAW Class Reference

Basic package to work functions of X-STEP (IFSelect & Co)
under control of DRAW
Works with some "static" data : a SessionPilot (used to run)
with its WorkSession and Model and TransferReader, a
FinderProcess
.

`#include <XSDRAW.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)

## Static Public Member Functions

static Standard_EXPORT void | ChangeCommand (const Standard_CString oldname, const Standard_CString newname)
| Changes the name under which a command of xstep is known by Draw. This allows to avoid collisions To be called before LoadDraw or any other xstep initialisation .
static Standard_EXPORT void | RemoveCommand (const Standard_CString oldname)
| Removes a command from the interpretation list of Draw To be called before LoadDraw or any other xstep initialisation .
static Standard_EXPORT Standard_Boolean | LoadSession ()
| Defines the basic context to work with a X-STEP Session : it performs the basic inits, also records the Controller If the Controller is not yet set, it must be set after (call to SetController) LoadSession is called by LoadDraw Returns True the first time, False if already called .
static Standard_EXPORT void | LoadDraw (Draw_Interpretor &theCommands)

Defines the context for using a X-STEP Session under DRAW
Once the various INITs have been done, a call to LoadDraw
records the defined commands for the X-STEP SessionPilot,
into the DRAW interpretation list.
"Set" commands are accessed under command xset
SDS>xset name command ...
Other commands can be accessed directly or under command xstep
SDS>command ... and SDS>xstep command ... are equivalent
Only the command xinit is accessed directly only :
SDS>xinit (from the already defined Controller)
SDS>xinit iges (first defines the Controller as for "iges")
It also records the function to be called by DRAW (not
declared because specific).
And it defines the context variables, i.e. a WorkSession, then
it calls SetController with the currently defined Controller
Remark : at least, the standard commands are recorded
See also Controller : it is part of the Context, but it must
be precised separately
.

static Standard_EXPORT Standard_Integer | Execute (const Standard_CString command, const Standard_CString var="")
| Allows to execute a xstep-draw command from C++ program Fixed form : Execute("command args..."); Form with a variable text part : add s for the variable : Execute ("command args %s args..",var) [var is a CString] Returns the same value as returned by call from DRAW .
static Standard_EXPORT Handle_IFSelect_SessionPilot | Pilot ()
| Returns the SessionPilot (can be used for direct call) .
static Standard_EXPORT Handle_XSControl_WorkSession | Session ()
| Returns the WorkSession defined in AddDraw (through Pilot) It is from XSControl, it brings functionnalities for Transfers .
static Standard_EXPORT void | SetController (const Handle(XSControl_Controller)&control)
| Defines a Controller for the command "xinit" and applies it (i.e. calls its method Customise) .
static Standard_EXPORT Handle_XSControl_Controller | Controller ()
| Returns the Controller, a Null Handle if not yet defined .
static Standard_EXPORT Standard_Boolean | SetNorm (const Standard_CString normname, const Standard_CString profile="")
| Sets a norm by its name (controller recorded as <normname> ) Returns True if done, False if this norm is unknown If <profile> is given, also sets the norm to <profile> (if <profile> is undefined for <normname>, it is ignored) .
static Standard_EXPORT Handle_Interface_Protocol | Protocol ()
| Returns the actually defined Protocol .
static Standard_EXPORT Handle_Interface_InterfaceModel | Model ()
| Returns the Model of the Session (it is Session()->Model() ) .
static Standard_EXPORT void | SetModel (const Handle(Interface_InterfaceModel)&model, const Standard_CString file="")
| Sets a Model in session (it is Session()->SetModel(model) ) If <file> is defined, SetLoadedFile is also done .
static Standard_EXPORT Handle_Interface_InterfaceModel | NewModel ()
| Produces a new model (from the Controller), can be Null Does not set it in the session .
static Standard_EXPORT Handle_Standard_Transient | Entity (const Standard_Integer num)
| Returns the entity n0 <num> of the Model of the Session (it is StartingEntity) Null Handle if <num> is not suitable .
static Standard_EXPORT Standard_Integer | Number (const Handle(Standard_Transient)&ent)
| Returns the number of an entity in the Model (StartingNumber) 0 if <ent> unknown in the model, or null .
static Standard_EXPORT void | SetTransferProcess (const Handle(Standard_Transient)&TP)
| Sets a TransferProcess in order to analyse it (see Activator) It can be either a FinderProcess or a TransientProcess, in that case a new TransferReader is created on it .
static Standard_EXPORT Handle_Transfer_TransientProcess | TransientProcess ()
| Returns the TransferProcess : TransientProcess detained by the TransferReader .
static Standard_EXPORT Handle_Transfer_FinderProcess | FinderProcess ()
| Returns the FinderProcess, detained by the TransferWriter .
static Standard_EXPORT void | InitTransferReader (const Standard_Integer mode)
| Initialises a TransferReader, according to mode : 0 nullifies it, 1 clears it (not nullify) 2 sets it with TransientProcess & Model 3 idem plus roots of TransientProcess Remark : called with 0 at least at each SetModel/NewModel .
static Standard_EXPORT Handle_XSControl_TransferReader | TransferReader ()
| Returns the current TransferReader, can be null It detains the TransientProcess .
static Standard_EXPORT Handle_Standard_Transient | GetEntity (const Standard_CString name="")
| Takes the name of an entity, either as argument, or (if <name> is empty) on keybord, and returns the entity name can be a label or a number (in alphanumeric), it is searched by NumberFromLabel from WorkSession. If <name> doesn't match en entity, a Null Handle is returned .
static Standard_EXPORT Standard_Integer | GetEntityNumber (const Standard_CString name="")
| Same as GetEntity, but returns the number in the model of the entity. Returns 0 for null handle .
static Standard_EXPORT Handle_TColStd_HSequenceOfTransient | GetList (const Standard_CString first="", const Standard_CString second="")
| Evaluates and returns a list of entity, from : keyboard if <first> and <second> are empty, see below first if second is empty : can be a number/label of an entity or the name of a selection to be evaluated (standard) first : name of a selection, evaluated from a list defined by second In case of failure, returns a Null Handle .
static Standard_EXPORT Standard_Boolean | FileAndVar (const Standard_CString file, const Standard_CString var, const Standard_CString def, TCollection_AsciiString &resfile, TCollection_AsciiString &resvar)

Analyses given file name and variable name, with a default
name for variables. Returns resulting file name and variable
name plus status "file to read"(True) or "already read"(False)
In the latter case, empty resfile means no file available
If <file> is null or empty or equates ".", considers Session
and returned status is False
Else, returns resfile = file and status is True
If is neither null nor empty, resvar = var
Else, the root part of <resfile> is considered, if defined
Else, <def> is taken
.

static Standard_EXPORT Standard_Integer | MoreShapes (Handle(TopTools_HSequenceOfShape)&list, const Standard_CString name)

Analyses a name as designating Shapes from DRAW variables or
XSTEP transfer (last Transfer on Reading). <name> can be :
"*" : all the root shapes produced by last Transfer (Read)
i.e. considers roots of the TransientProcess
a name : a name of a variable DRAW
Returns the count of designated Shapes. Their list is put in
<list>. If <list> is null, it is firstly created. Then it is
completed (Append without Clear) by the Shapes found
Returns 0 if no Shape could be found
.

## Member Function Documentation

static Standard_EXPORT void XSDRAW::ChangeCommand | ( | const Standard_CString | oldname,
|  | const Standard_CString | newname
| ) | `[static]`

static Standard_EXPORT Handle_XSControl_Controller XSDRAW::Controller | ( |  | ) | `[static]`

static Standard_EXPORT Handle_Standard_Transient XSDRAW::Entity | ( | const Standard_Integer | num | ) | `[static]`

static Standard_EXPORT Standard_Integer XSDRAW::Execute | ( | const Standard_CString | command,
|  | const Standard_CString | var = `""`
| ) | `[static]`

static Standard_EXPORT Standard_Boolean XSDRAW::FileAndVar | ( | const Standard_CString | file,
|  | const Standard_CString | var,
|  | const Standard_CString | def,
|  | TCollection_AsciiString & | resfile,
|  | TCollection_AsciiString & | resvar
| ) | `[static]`

static Standard_EXPORT Handle_Transfer_FinderProcess XSDRAW::FinderProcess | ( |  | ) | `[static]`

static Standard_EXPORT Handle_Standard_Transient XSDRAW::GetEntity | ( | const Standard_CString | name = `""` | ) | `[static]`

static Standard_EXPORT Standard_Integer XSDRAW::GetEntityNumber | ( | const Standard_CString | name = `""` | ) | `[static]`

static Standard_EXPORT Handle_TColStd_HSequenceOfTransient XSDRAW::GetList | ( | const Standard_CString | first = `""`,
|  | const Standard_CString | second = `""`
| ) | `[static]`

static Standard_EXPORT void XSDRAW::InitTransferReader | ( | const Standard_Integer | mode | ) | `[static]`

static Standard_EXPORT void XSDRAW::LoadDraw | ( | Draw_Interpretor & | theCommands | ) | `[static]`

static Standard_EXPORT Standard_Boolean XSDRAW::LoadSession | ( |  | ) | `[static]`

static Standard_EXPORT Handle_Interface_InterfaceModel XSDRAW::Model | ( |  | ) | `[static]`

static Standard_EXPORT Standard_Integer XSDRAW::MoreShapes | ( | Handle(TopTools_HSequenceOfShape)& | list,
|  | const Standard_CString | name
| ) | `[static]`

static Standard_EXPORT Handle_Interface_InterfaceModel XSDRAW::NewModel | ( |  | ) | `[static]`

static Standard_EXPORT Standard_Integer XSDRAW::Number | ( | const Handle(Standard_Transient)& | ent | ) | `[static]`

void XSDRAW::operator delete | ( | void * | anAddress | ) | `[inline]`

void* XSDRAW::operator new | ( | size_t | size | ) | `[inline]`

void* XSDRAW::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

static Standard_EXPORT Handle_IFSelect_SessionPilot XSDRAW::Pilot | ( |  | ) | `[static]`

static Standard_EXPORT Handle_Interface_Protocol XSDRAW::Protocol | ( |  | ) | `[static]`

static Standard_EXPORT void XSDRAW::RemoveCommand | ( | const Standard_CString | oldname | ) | `[static]`

static Standard_EXPORT Handle_XSControl_WorkSession XSDRAW::Session | ( |  | ) | `[static]`

static Standard_EXPORT void XSDRAW::SetController | ( | const Handle(XSControl_Controller)& | control | ) | `[static]`

static Standard_EXPORT void XSDRAW::SetModel | ( | const Handle(Interface_InterfaceModel)& | model,
|  | const Standard_CString | file = `""`
| ) | `[static]`

static Standard_EXPORT Standard_Boolean XSDRAW::SetNorm | ( | const Standard_CString | normname,
|  | const Standard_CString | profile = `""`
| ) | `[static]`

static Standard_EXPORT void XSDRAW::SetTransferProcess | ( | const Handle(Standard_Transient)& | TP | ) | `[static]`

static Standard_EXPORT Handle_XSControl_TransferReader XSDRAW::TransferReader | ( |  | ) | `[static]`

static Standard_EXPORT Handle_Transfer_TransientProcess XSDRAW::TransientProcess | ( |  | ) | `[static]`

The documentation for this class was generated from the following file:

- XSDRAW.hxx