VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
DtMtlEnvironment Class Reference

command line support More...

+ Collaboration diagram for DtMtlEnvironment:

Public Member Functions

 DtMtlEnvironment ()
 default constructor More...
 
virtual ~DtMtlEnvironment ()
 destructor More...
 
virtual DtlObjPtr lookup (const DtString &name)
 Lookup the value of a symbol by name. More...
 
virtual int registerVar (const char *name, float *addr)
 Register a C variable with the MTL system. More...
 
virtual int registerVar (const char *name, double *addr)
 
virtual int registerVar (const char *name, int *addr)
 
virtual int registerVar (const char *name, unsigned long *addr)
 
virtual int registerVar (const char *name, char **addr)
 
virtual int registerVar (const char *name, DtString *addr)
 
virtual int registerVar (const char *name, long *addr)
 
virtual int registerVar (const char *name, short *addr)
 
virtual int registerVar (const char *name, unsigned short *addr)
 
template<class T >
int registerCmdLineVar (DtCmdLine::ValueArg< T > &arg)
 Registers command line arguments. More...
 
template<class T >
int registerConfigVar (DtConfigVariable< T > &arg)
 
virtual DtlObjPtr loadLispFile (char *filename, int complain=1)
 Read mtl files or expressions. More...
 
virtual DtlObjPtr loadLispFile (const DtlObjPtr &pathlist, char *filename, int complain=1)
 
virtual DtlObjPtr loadLispFileOrExpr (char *arg, int complain=1)
 
virtual DtlObjPtr loadLispExpr (char *lispLine, int complain=1)
 
virtual DtlObjPtr setParameter (const DtString &name, const DtlObjPtr &value)
 Set the value of a (lisp) symbol by name. More...
 
virtual DtlObjPtr setFunction (const DtString &name, DtlFcn func)
 
virtual DtlObjPtrenv ()
 Used to get the actual lisp environment object. More...
 

Protected Member Functions

 DtMtlEnvironment (const DtMtlEnvironment &orig)
 copy constructor More...
 
DtMtlEnvironmentoperator= (const DtMtlEnvironment &orig)
 assignment operator More...
 
virtual DtlObjPtr setSpecialForm (const DtString &name, DtlFcn func)
 Used to register special symbols with MTL. More...
 
void initEnv ()
 Called by constructor. More...
 

Protected Attributes

DtlObjPtr myEnv
 
DtListmyParams
 List of DtcParam*'s representing C variables that have been registered with us. More...
 

Detailed Description

command line support

Since Microsoft VC6 does not support template member functions, if MSVC6 is used, define this as a macro An instance of DtMtlEnvironment is an MTL environment. You can register C variables with a DtMtlEnvironment, and load mtl files and expressions - causing which causes the values registered C variables to be updated.

Constructor & Destructor Documentation

DtMtlEnvironment::DtMtlEnvironment ( )

default constructor

virtual DtMtlEnvironment::~DtMtlEnvironment ( )
virtual

destructor

DtMtlEnvironment::DtMtlEnvironment ( const DtMtlEnvironment orig)
protected

copy constructor

Member Function Documentation

DtlObjPtr & DtMtlEnvironment::env ( )
inlinevirtual

Used to get the actual lisp environment object.

Should typically not be used, but would be necessary if you want to directly use some of the low level mtl functions from C++ code. Use caution.

void DtMtlEnvironment::initEnv ( )
protected

Called by constructor.

Registers standard lisp symbols, functions, etc, with the environment.

virtual DtlObjPtr DtMtlEnvironment::loadLispExpr ( char *  lispLine,
int  complain = 1 
)
virtual
virtual DtlObjPtr DtMtlEnvironment::loadLispFile ( char *  filename,
int  complain = 1 
)
virtual

Read mtl files or expressions.

If the expression or file being read contains setq or setqb statements to set the values of mtl variables with the same names as C variables that have been registered with this environment, the values of the C variables will be updated accordingly.

virtual DtlObjPtr DtMtlEnvironment::loadLispFile ( const DtlObjPtr pathlist,
char *  filename,
int  complain = 1 
)
virtual
virtual DtlObjPtr DtMtlEnvironment::loadLispFileOrExpr ( char *  arg,
int  complain = 1 
)
virtual
virtual DtlObjPtr DtMtlEnvironment::lookup ( const DtString name)
virtual

Lookup the value of a symbol by name.

DtMtlEnvironment& DtMtlEnvironment::operator= ( const DtMtlEnvironment orig)
protected

assignment operator

template<class T >
int DtMtlEnvironment::registerCmdLineVar ( DtCmdLine::ValueArg< T > &  arg)

Registers command line arguments.

Since Microsoft Visual C++ 6.0 does not support template member functions define a global function for VC6.

References DtCmdLine::ValueArg< T >::getInternalPtrValue(), and DtCmdLine::Arg::getName().

template<class T >
int DtMtlEnvironment::registerConfigVar ( DtConfigVariable< T > &  arg)
virtual int DtMtlEnvironment::registerVar ( const char *  name,
float addr 
)
virtual

Register a C variable with the MTL system.

Registering a variable with MTL allows you to set that variable through a setq or setqb command in an mtl file or mtl expression processed by the MTL system. Rather than using these overloaded functions directly, it is easier to use the macro DtREGISTER, which passes the name and address of a variable to registerVar. For example: DtMtlEnvironment env; env.DtREGISTER(x);

virtual int DtMtlEnvironment::registerVar ( const char *  name,
double addr 
)
virtual
virtual int DtMtlEnvironment::registerVar ( const char *  name,
int addr 
)
virtual
virtual int DtMtlEnvironment::registerVar ( const char *  name,
unsigned long *  addr 
)
virtual
virtual int DtMtlEnvironment::registerVar ( const char *  name,
char **  addr 
)
virtual
virtual int DtMtlEnvironment::registerVar ( const char *  name,
DtString addr 
)
virtual
virtual int DtMtlEnvironment::registerVar ( const char *  name,
long *  addr 
)
virtual
virtual int DtMtlEnvironment::registerVar ( const char *  name,
short *  addr 
)
virtual
virtual int DtMtlEnvironment::registerVar ( const char *  name,
unsigned short *  addr 
)
virtual
virtual DtlObjPtr DtMtlEnvironment::setFunction ( const DtString name,
DtlFcn  func 
)
virtual
virtual DtlObjPtr DtMtlEnvironment::setParameter ( const DtString name,
const DtlObjPtr value 
)
virtual

Set the value of a (lisp) symbol by name.

setParameter can be used to set the value of a lisp variable whose value you want to check within a lisp file. setFunction lets you create your own lisp commands. When loading an mtl file, if a command with name name is read, we will call the function func that you have associated with the name.

virtual DtlObjPtr DtMtlEnvironment::setSpecialForm ( const DtString name,
DtlFcn  func 
)
protectedvirtual

Used to register special symbols with MTL.

Member Data Documentation

DtlObjPtr DtMtlEnvironment::myEnv
protected
DtList* DtMtlEnvironment::myParams
protected

List of DtcParam*'s representing C variables that have been registered with us.

This is just a pointer to the list stored within myEnv.


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

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)