cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Todo List
Member CMN_LOG_CLASS_INSTANCE (objectPointer, lod)
replace (CISST_OS == CISST_DARWIN) with a better solution for OS X logging compiler errors
File mts3Dconnexion.h

Can we activate the buttons from code, i.e. not using external 3Dconnexion control panel.

Use prm type for API? At osa level, use vctTypes?

Add calibrate/bias function.

Add bypassing wizard settings, looks like overall speed setting should be at max, button numbers, ...

Test connection robustness.

Standardize values. (max is 1600 with full speed setting for both trans and rot).

Add button events.

Check update rate seems sluggish with latency.

Remove the loop timer, use the automatic one.

Use wizard to set the buttons to 1, and 2 (keystroke #s).

Member mtsCollectorEvent::Connect (void)
copy documentation for mtsCollectorState
Member mtsInterfaceRequired::AddSystemEventHandlers (void)
update documentation Bind command and events. This method needs to provide a user Id so that GetCommandVoid and GetCommandWrite (queued commands) know which mailbox to use. The user Id is provided by the provided interface when calling AllocateResources.
File mtsMicronTracker.h

Replace current custom video player with an svl Qt widget (mtsMicronTracker already provides an svlSampleBuffer).

ComputeCameraModel method needs error analysis.

Mapping from markerName to markerHandle.

Refactor the method of obtaining marker projections for the controller Qt Component.

Check for mtMeasurementHazardCode using Xform3D_HazardCodeGet.

Fix/suppress _WIN32_WINNT macro redefinition warning.

See sawNDITracker for other common tracking related todos.

File mtsNDISerial.h

Consider deriving from mtsTaskContinuous using an "adaptive" sleep.

Verify the need for existing sleep times.

Enable/disable individual tools on-the-fly (or dynamically disable their interfaces).

Move CalibratePivot to cisstNumerical?

Handle other main types of tools (besides pointer, reference, etc.).

Parse port/system status, in order to get "partially out of volume", etc..

Refactor ComputeCRC and implement a CRC check in CommandSend (move CRC check to osaSerialPort?).

Every sscanf should check if valid number of items have been read (wrapper for sscanf?).

Error handling for all strncpy.

Check for buffer overflow in CommandAppend.

Support for the extra features of newer Polaris versions.

Pretty print for SerialNumber, to extract date, etc..

Overload Tool class to have a stream.

Use frame number to decide if timestamp should be refreshed.

Use a map to convert Tool's MainType to human readable text.

Strategies for error recovery, send an event with a human readable payload, implement in CheckResponse.

File mtsOpenIGTLink.h

Handle multiple connections by storing the returned socket pointer in an array.

Check for cyclic redundancy (CRC).

Handle message types besides TRANSFORM.

File mtsPID.h
Add dError filtering
Class mtsRobotIO1394QtWidget

maybe rename this class to mtsRobotIO1394{Robot,DigitalInputs,Log}QtWidget and create using mtsRobotIO1394FactoryQtWidget

cisst Qt convention is now to start with the Qt prefix, i.e. mtsQtWidgetRobotIO1394 ...

Class mtsTeleOperation
Class mtsWatchdogServer
Should be easy to merge server and client into a single object. Could integrate into standard component interfaces.
Member nmrLSqLinSolutionDynamic::QueryWorkspaceSize_LS (size_t ma, size_t n)
can we assume nhrs=1?
File osaSocket.h

GetIP() could be static or external to the osaSocket class.

Perhaps GetLocalhostIP() should be outside the class.

Class prmVelocityCartesianSet
Review SerializeRaw and DeserializeRaw, they don't seriliaze the frame pointers.
Class svlFilterAddLatency

Check if we could use an stl container to manager the list of samples

Change API to define latency in seconds

Remove up/down by a hard coded number of samples

In Release, make sure memory is freed for linked list

Is memcpy the best way to copy the in/out samples, is there a more generic way?

Add interface provided to set latency

Add method to report memory size used

Member vctDynamicMatrix< _elementType >::operator= (const vctDynamicConstMatrixBase< __matrixOwnerType, __elementType > &otherMatrix)
This assumes a row major storage. Needs more work.
Member vctDynamicMatrix< _elementType >::operator= (const vctReturnDynamicMatrix< value_type > &otherMatrix)
This operator needs some revisions.
Member vctDynamicNArray< _elementType, _dimension >::operator= (const vctReturnDynamicNArray< value_type, _dimension > &otherNArray)
This operator needs some revisions.
Class vctPlot2DBase

Rename "trace" to "signal", "data set", "set", "point set", ...

Add "grid" and/or "axis" (maybe a special grid) to all scales

Add a flag to all elements to determine if they should be used or not in auto fit methods (e.g. user might {not} want to see y=0 line)

Cleanup pointSize vs lineWidth in traces, lines, etc. use linewidth for everything

Create a base class "element"/"data" for all elements visible (i.e. signal, vertical line, grid, ...), modifiedSinceLastRender, maybe even render method ...

Fit/Render should probably be defined at plot/scale/data level

Add flag/method Modified to all elements type to optimize fit/render

Class vctQtWidgetRotationOpenGL

use rotation matrix to rotate axis instead of euler angles

use a GL list to create the axes once and re-use later

remove reference frame?