Added a flag called validate_address to each variable server thread. When
activated each pointer address will be tested to see if it is in memory
the memory manager is tracking. If it is then everything proceeds normally.
If it does not, then an error return value is returned for the value of this
variable.
refs #193
Moved SIM_test_ip and a couple of other sims that depend on the same model set
to a new test directory. I'm doing a couple of sims at a time.
refs #191
OK, all the previous checkins were the wrong way to fix this issue. The SWIG
compactdefaultargs feature and the shadow feature clash for our DRBinary class.
I turn off compactdefaultargs for the DRBinary class, leaving it on for
everything else.
refs #176
Found a side effect of SWIG's "compactdefaultargs". It highlighted an
error we had in creating the data_record group in our ball sim. We did
not release the memory from python and it was causing a double free
at exit.
refs #176
Saved the timestamps on the default gettimeofday clock as close to
the beginning of the simulation, after initialization is finished and
at the end of shutdown. Printed out the elapsed time as well as
the number of overruns counted by RealtimeSync.
refs #183
Taking in the latest er7_utils directory and adding it into Trick in the
same location it was as an external repository. Made one change to
the files_to_ICG.hh file in the repository to remove the CheckpointHelper
header files. Those go in the Trick files_to_ICG.hh file.
refs #180
Found that the list of swig files we should expect from external libraries
was incorrectly cleared before it was being used. This still allows the
sim to compile, but no information about the models in the library are
available in the input file.
refs #179
When I split the comment remover into 2 regular expressions I reversed
the order removing C style comments before c++. This caused this error
where a /* in a C++ comment made Trick look for the end of the C style
comment and it may never find the end.
refs #178
Setting the frame log size only resized the time line graph, not the normal
frame log groups. Added code to change the size of the normal frame log
groups in addition to the time line.
refs #177
After digging around the SWIG issues database I found a feature
compactdefaultargs that creates a call to functions with default
arguments like it did before. The important part is that the
code runs.
refs #176
We pull file names out of the clang infrastructure to match where
classes are defined. We use the file name to pull comments and find
and process Trick header comments. Up to now clang gave us the realpath
of files and when we looked up comments we already had the realpath and
everything worked. In clang 3.6 in some places we are not getting the
realpath anymore which confuses ICG. Added code to get the realpath of
any file name we use throughout the code.
refs #167
Added a 3 wheeled car example from the ODE demos. I collapsed all of the separate classes
handling the world, objects, and drawings into a single class. Each world is different
and just including that with the objects for these simple examples is easier. Same goes
for the drawing.
refs #172
Changed the regular expressions that removes comments in convert_swig to
try and handle C style comments found in multiline #define statements.
Also added a TRICK_ICG_NOCOMMENT line to SIM_ode to stop ICG from
trying to process non-Trick comments in the ODE directory.
refs #172
I want Trick to parse and understand ODE header files. The ODE header files
include some typedef constructs ICG was skipping. Added code to handle the
typedefs we did not handle before. Also made a small change the way
TRICK_ICG_EXCLDUE and TRICK_EXCLUDE are used so that they support excluding
individual files as well as directories.
Took the ODE bouncing ball tutorial sim and interfaced it within Trick. Created classes to handle
interfacing with ODE and the DrawStuff graphics that comes with ODE. Created classes
to contain the ball and the drawstuff graphics for the ball.
refs #172
Duplicating change from 15.1.1.
If a variable resolves to a class/structure type the variable server tries to free the
attributes associated with that variable name. But the attributes usually point to
a fixed place in memory that is not allocated. I removed the free statement. I don't
believe this will lead to a memory leak.
refs #165
When I merged the sections of code that look for library dependencies I left out
the section that searches for dependencies that have a full path. I added
that back in.
refs #170
I kind of took the easy way out on this one, I remove any
structure definitions that matches the pattern
typedef const struct A {...} constA ; out of out of
convert_swig before they get to SWIG.
refs #169