- Class Archon::Utilities::ArgumentException
- After this exception has become an UnexpectedException some prior uses may have been rendered invalid.
- Class Archon::Utilities::Atomic
- Find a way to discriminate between i386 and i486+.
- Class Archon::Utilities::Stream::BasicPipe< C >
- It may be better for performance if we add a new Mutex to protect the pipe specific variables.
- Class Archon::Render::Channel
- This class should be moved into Pipe since no party except Pipe need to know about it.
- Member Archon::Utilities::CharEnc::encode (wstring s, string encoding=UTF_8, bool fail=false)
- Should utilize Autoconf's endianness detection macro.
- Member Archon::Utilities::CharEnc::transcode (const char *&sourceBuffer, size_t &sourceBytesLeft, char *&targetBuffer, size_t &targetBytesLeft, bool fail=false)
- Currently there will be one replacement character per byte of invalid input.
- Member Archon::Utilities::CharEnc::transcode (const char *&sourceBuffer, size_t &sourceBytesLeft, char *&targetBuffer, size_t &targetBytesLeft, bool fail=false)
- An even cooler scheme for handling invalid input would be to utilize the fact that UTF-8 input octets where the most significant bit is set and the next most significant bit is cleared should be skipped when synchronizing to the start of a character.
- Member Archon::Utilities::Condition::select (int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, Time timeout)
- On Linux (at the time of writing) the pselect system call has a race condition which allows it to miss a signal and thus sleep forever.
- Member Archon::Display::ConnectionX11::~ConnectionX11 ()
- Error handling
- Member Archon::X3D::CustomFieldNode::addCustomField (Ref< CustomFieldBase >)
- When a custom script field is named "foo" and has access type 'inputOutput' may it then be accessed with the names "set_foo" and "foo_changed", or is this behaivour restricted to conventional fields?
- Member Archon::X3D::Cylinder::intersect (const Math::Ray3 &, double &dist) const
- Is it correct to considder a cylinder with missing parts as non-solid and a cylinder with all parts enabled as a solid object? (I think I saw a confirmation of this somewhere in the spec -KKS)
- Member Archon::Utilities::Web::DefaultClient::request (Ref< Request >)
- The implicit DNS lookup in HTAnchor_findAddress should be avoided since it occurs inside the Libwww mutex.
- Member Archon::Utilities::DFA::DFA (const NFA &, vector< set< int > > *stateSets=0, AnchorInfo *anchorInfo=0)
- Explain further.
- Member Archon::X3D::ElevationGrid::getNormalAndTexCoord (Vector3 hitPoint, int where, const Shape *, Vector3 *hitNormal, Vector2 *hitTexCoord) const
- Do it!
- Member Archon::X3D::ElevationGrid::intersect (const Math::Ray3 &, double &dist) const
- Do it!
- Member Archon::X3D::ElevationGrid::render (bool texture, const Shape *shape, const RenderConfig *)
- Considder using glMapGrid and glEvalMesh to ease this job.
- Class Archon::Utilities::Exception
- Many exceptions derive virtually from because this class was marked as a virtual base class.
- Class Archon::X3D::ExecutionContext::RealizedException
- Should not this exception be thrown more frequently?
- Class Archon::Utilities::FormatLibgif
- For image file writing API see: libungif/util/rgb2gif.c.
- Class Archon::Utilities::FormatLibjpeg
- We might be missing todo's in anonymous namespaces in other files.
- Class Archon::Utilities::FormatLibjpeg
- How do we handle progressive display during loading? The issue is that of preventing concurrent reading and writing of the pixel data in a single image.
- Class Archon::Utilities::FormatLibjpeg
- Loading multiple images concurrently with progressive display needs more care.
- Class Archon::Utilities::FormatLibjpeg
- A different approach to displaying multiple concurrently loading images in a progressive manner is to have an extra thread that on regular intervals consults each image and transfers its pixel data onto the display device.
- Class Archon::Utilities::FormatLibjpeg
- This appraoch will fit well into the common paradigme of having a frame based rending thread with exclusive access to the rendering target (GLXContext).
- Class Archon::Utilities::FormatLibjpeg
- Considder adding the progressive flag to the Image API.
- Class Archon::Utilities::FormatLibjpeg
- Considder adding a prescaling setting to the image loading API.
- Class Archon::Utilities::FormatLibjpeg
- What's the deal about abbreviated datastreams.
- Member Archon::Utilities::FormatLibjpeg::load (Ref< Stream::Reader > reader, Image::ProgressTracker *tracker, Logger *logger) const
- Probably invalid for non-RGB color spaces.
- Member Archon::Utilities::FormatLibpng::load (Ref< Stream::Reader > reader, Image::ProgressTracker *tracker, Logger *logger) const
- Still some confusion between bytes and chars.
- Member Archon::Utilities::FormatLibpng::load (Ref< Stream::Reader > reader, Image::ProgressTracker *tracker, Logger *logger) const
- Read and somtimes transcode comments from image file.
- Member Archon::Utilities::FormatLibpng::load (Ref< Stream::Reader > reader, Image::ProgressTracker *tracker, Logger *logger) const
- Read the comment.
- Member Archon::Utilities::FormatLibpng::save (Image image, Ref< Stream::Writer > writer, Image::ProgressTracker *tracker, Logger *logger) const
- We need to verify that the combination of channels and bit-depth is acceptable for PNG.
- Member Archon::Utilities::FormatLibpng::save (Image image, Ref< Stream::Writer > writer, Image::ProgressTracker *tracker, Logger *logger) const
- Verify the correctness of comment compression.
- Class Archon::Utilities::Image
- Revisit all file format I/O for supporting bits-per-char greater than 8.
- Class Archon::Utilities::Image
- Considder adding a "Pixel operator(x, y)" where Pixel holds a pointer to the pixel byte(s).
- Class Archon::Utilities::Image
- Add fill and clear member functions.
- Member Archon::X3D::IndexedFaceSet::intersect (const Math::Ray3 &, double &dist) const
- Under the assumption that the polygon is convex, we may employ an optimization in that finding b < 0 ot a+b > 1 for any of the triangles we know that there can be no intersection.
- Class Archon::X3D::Inline
- It seems that this node type inherits from BoundedObject according to the specification.
- Member Archon::Utilities::Job::Queue::cancel (Ref< Job >)
- Terminating the thread causes everything to crash
- Class Archon::Utilities::Lexer
- Verify rules for no actions when no Actor is passed to Engine constructor and when no Context is passed to Lexer constructor.
- Class Archon::Utilities::Lexer
- Detect word boundaries and maybe only on demand ie.
- Class Archon::X3D::Loader::MovieContents
- Do it!
- Class Archon::Utilities::LrParserBase
- Considder including "lr_parser_methods.H" in this file.
- Member Archon::Utilities::LrParserBase::parse (LexerBase &lexer, Context &c, Ref< const R > &result, Logger *l=0)
- Parser errors must be handled properly.
- Member Archon::X3D::NodeBase::add (const SequenceFieldBase *, Ref< const ValueBase >, Time)
- Verify asyclic property
- Member Archon::X3D::NodeBase::add (const SequenceFieldBase *, Ref< const ValueBase >, Time)
- Add value type verification including checking the the concrete node type for conformance with the target field.
- Member Archon::X3D::NodeBase::inject (const NodeFieldBase *, Ref< NodeBase > childNode, Time stamp)
- Verify asyclic property
- Member Archon::X3D::NodeBase::remove (const SequenceFieldBase *, Ref< const ValueBase >, Time)
- Verify asyclic property
- Member Archon::X3D::NodeBase::remove (const SequenceFieldBase *, Ref< const ValueBase >, Time)
- Add value type verification.
- Member Archon::X3D::NodeBase::set (const FieldBase *, const Event *)
- Verify asyclic property
- Member Archon::X3D::NodeBase::set (const FieldBase *, const Event *)
- Add value type verification including checking the the concrete node type for conformance with the target field.
- Member Archon::X3D::NodeBase::setAt (const SequenceFieldBase *, Ref< const ValueBase >, unsigned index, Time)
- Verify asyclic property
- Member Archon::X3D::NodeBase::setAt (const SequenceFieldBase *, Ref< const ValueBase >, unsigned index, Time)
- Add value type verification including checking the the concrete node type for conformance with the target field.
- Class Archon::X3D::NodeBase::RealizedException
- Should not this exception be thrown more frequently?
- Class Archon::Utilities::Options::FileAccessException
- Should not this be an UnexpectedException?
- Member Archon::X3D::XML::Parser::eat (const char *&s, Image &v, bool &more)
- Needs to be implemented after completing new Image class.
- Member Archon::X3D::XML::Parser::elementLookup (string name)
- Should be changed so that initially a case sensitive search is done.
- Member Archon::X3D::XML::Parser::parseValue (const char *s, vector< string > &v)
- How is MFString represented in the XML encoding?
- Member Archon::X3D::Parser::addRoute (string sourceNodeName, string sourceFieldName, string targetNodeName, string targetFieldName)
- Somehow sombody must check the runtime types when sending nodes (SFNode/MFNode) across routes.
- Member Archon::X3D::Parser::addRoute (string sourceNodeName, string sourceFieldName, string targetNodeName, string targetFieldName)
- The below restriction is not mentioned in the X3D specification.
- Member Archon::X3D::VRML::Parser::Context::extract (const RefAny &s, Uri &t)
- Must we first check that ony 7-bit ascii chars are used?
- Member Archon::X3D::VRML::Parser::Context::extract (const RefAny &s, Uri &t)
- The default value is proberbly not right!
- Member Archon::Render::Pipe::addChannel (Ref< Conductor >, Ref< View >, Ref< Display::Window >, Ref< Viewport >, Ref< Screen >, Ref< Eye >, Ref< Clip >)
- Also check that the visual of the window equals the visual of the context.
- Member Archon::Render::Pipe::addChannel (Ref< Conductor >, Ref< View >, Ref< Display::Window >, Ref< Viewport >, Ref< Screen >, Ref< Eye >, Ref< Clip >)
- Also check that the Conductor is the same one that was used to create the context.
- Class Archon::Utilities::PixelFormat
- Make a formal format for string representation of pixel formats and a parser.
- Member Archon::Utilities::PixelFormat::getExpandedFormat () const
- FIXME: I belive it would be beneficial to remove the word-type concept from pixel format altogether and replace it with a bitsPerWord and an isFloat flag - that is it.
- Class Archon::Utilities::Ref< T >
- If we had a sufficiently large datatype for the reference count which we knew was atomic in read (sig_atomic_t), we could make an optimization in that if you read the count and find it to be < 2 then you need not aquire the lock since no other thread holds a Ref to the same object and there is no one who could access the object cocurently.
- Class Archon::Utilities::Ref< T >
- We should seriously considder making the Ref(T *) constructor explicit, since it actually is a relativly heavy operation and it might even be dangerous - for example when ref count has dropped to zero.
- Class Archon::Utilities::Ref< T >
- Considder recommending a scheme where Ref<>s can be automatically converted to plain pointers and that one should always use plain pointer arguments to functions.
- Class Archon::Utilities::RefMap< T >
- Do we really need to place this map in this file?? Currently it is here because it needs to be a friend of Ref since it needs to access refInc and refDec directly since it wants to prevent the overhead in expanding a vector of Refs.
- Member Archon::Utilities::RefMap::operator() (unsigned long key) const
- It is completely unacceptable that we do not get an exceptional signal when the passed key is not found in the map.
- Class Archon::Utilities::Regex
- Considder using a bitset<N> instead of vector<bool> for representing named character classes.
- Class Archon::Utilities::Regex
- Prevent users from using characters in range 0xE000 - 0xF8FF or even better think of a way to represent the anchor edges without using symbol values.
- Class Archon::Utilities::Regex
- Exclude newline characters from "." See http://www.unicode.org/unicode/reports/tr18/tr18-5.1.html#End%20Of%20Line
- Class Archon::Utilities::ResourceException
- After this exception has become an UnexpectedException some prior uses may have been rendered invalid.
- Member Archon::X3D::Route::add (Ref< NodeBase > sourceNode, const FieldBase *sourceField, Ref< NodeBase > targetNode, const FieldBase *targetField)
- The below injective node type restriction is not mentioned in the X3D specification and is probably violating it.
- Member Archon::X3D::Route::add (Ref< NodeBase > sourceNode, const FieldBase *sourceField, Ref< NodeBase > targetNode, const FieldBase *targetField)
- Self reference is probably not redundant and thus should probably not be ignored.
- Class Archon::Utilities::Semaphore
- Let's put this class into a file of its own.
- Member Archon::X3D::SAI::Session::disposeSession ()
- WE MUST MAKE SURE THAT THE APPLICATION IS NOT CONTACTED AT ALL AFTER THE DISPOSE_SESSION REQUEST HAS RETURNED TO THE APPLICATION.
- Member Archon::X3D::SAI::Session::getRootGroup (CORBA::ULong)
- This method is not in line with the X3D specification.
- Member Archon::X3D::SAI::Session::launchApplicationScene (CORBA::ULong)
- We really should lock the mutex first.
- Member Archon::X3D::SAI::Session::setFieldValue (CORBA::ULong, CORBA::ULong, const x3d::sai::Value &)
- Add value type verification including checking the the concrete node type for conformance with the target field.
- Member Archon::X3D::SAI::Session::setFieldValueAdd (CORBA::ULong, CORBA::ULong, const x3d::sai::Value &)
- Add value type verification including checking the the concrete node type for conformance with the target field.
- Member Archon::X3D::SAI::Session::setFieldValueAt (CORBA::ULong, CORBA::ULong, CORBA::ULong, const x3d::sai::Value &)
- Add value type verification including checking the the concrete node type for conformance with the target field.
- Member Archon::X3D::SAI::Session::setFieldValueDel (CORBA::ULong, CORBA::ULong, const x3d::sai::Value &)
- Add value type verification including checking the the concrete node type for conformance with the target field.
- Member Archon::X3D::SAI::Session::setRootGroup (CORBA::ULong, CORBA::ULong)
- This method is not in line with the X3D specification.
- Member Archon::X3D::SAI::Session::unRegisterFieldInterest (CORBA::ULong, CORBA::ULong, CORBA::ULong)
- MUST FLUSH OUTBOUND EVENT QUEUE WHERE AN UNREGISTER_FIELD_INTEREST REQUEST IS MADE.
- Class Archon::X3D::Proxy::Session::Servant
- Add support for the Session::withdrawApplicationScene call.
- Member Archon::X3D::SimpleValueBase::getValuePtr () const =0
- Get rid of it - should be really easy!
- Class Archon::Utilities::StateException
- After this exception has become an UnexpectedException some prior uses may have been rendered invalid.
- Class Archon::X3D::SubSceneNode
- We proberbly neeed to add a timestamp for the subScene variable to support Node::changedSince.
- Member Archon::X3D::Text::intersect (const Math::Ray3 &, double &dist) const
- The X3D specification says that "The Text node does not participate in collision detection", but does this mean that one cannot activate a pointing device sensor via the text node, or does it only refer to the fact that the text node will not interfear with your avatar when walking? (In fact, the latest version of the specification does not mention anything about collision detection or sensor interaction)
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- We can improve performance by doing nothing when the text will be back-face-culled.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- Support vertical layout.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- Support texturing through TextureNodes on text by utilizing OpenGLs multi texture support.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- Support more than the ISO Latin-1 subset of the Unicode character set.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- We must recognize the standard font family names "SERIF", "SANS" and "TYPEWRITER" and be able to map them to specific font faces that conform with the X3D specification.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- Font glyphs could be packed much better in the texture than they are right now.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- Apply kerning information.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- Because the text rendering utilizes transparency for anti-aliasing purposes, the order of rendering starts to get important.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- It might be a bad idea to delay rendering just because we need to load fonts.
- Member Archon::X3D::Text::render (bool texture, const Shape *shape, const RenderConfig *)
- Currently blending is enabled and then desabled here, but never touched elsewhere.Instead a decision must be made on how to handle transparency in general.
- Class Archon::Utilities::Thread
- Implement thread priority.
- Class Archon::Utilities::Thread
- The following is probably not safe: 'volatile bool terminateRequest;'.
- Class Archon::Utilities::Thread
- One should considder adding a certain feature to the Thread class which would lead to simpler implementations in cases where threads are to run as a service for as long as the servicing object is referenced by outside parties such as a server object.
- Class Archon::Utilities::ThreadTerminatedException
- This exception is declared in many exception specifications.
- Member Archon::X3D::TimeSensor::tick ()
- TimeSensors that are initially enabled at load time don't start properly.
- Member Archon::X3D::TimeSensor::tick ()
- Implement the rest of the TimeSensor functionality.
- Member Archon::X3D::TimeSensor::tick ()
- We should increase the time
- Member Archon::X3D::TimeSensor::tick ()
- We should increase the time
- Member Archon::X3D::TimeSensor::tick ()
- We should increase the time
- Member Archon::X3D::TimeSensor::tick ()
- We should increase the time
- Member Archon::X3D::TimeSensor::tick ()
- We should increase the time
- Member Archon::X3D::TimeSensor::tick ()
- We should increase the time
- Member Archon::X3D::Torus::getNormalAndTexCoord (Vector3 hitPoint, int where, const Shape *, Vector3 *hitNormal, Vector2 *hitTexCoord) const
- Do texture coordinate determinatin
- Member Archon::Utilities::Uri::Uri (const string &uri, const Uri &baseUri=Uri())
- Either SyntaxException must be declared to be thrown or another sollution must be sought.
- Member Archon::Utilities::UriReference::UriReference (const string &uriReference, const UriReference &baseReference=UriReference())
- Either Uri::SyntaxException must be declared to be thrown or another sollution must be sought.
- Class Archon::X3D::UrlObject
- It would proberbly be a good idea to utilize the new RefObjectBase::dispose method instead of the rather complex use of Utilities::Ref<T>::getSafeRef.
- Member Archon::X3D::UrlObject::addUri (string, Time stamp)
- This one should instead utilize the soon coming SimpleSequenceFieldBase::add().
- Member Archon::X3D::Viewer::renderFrame ()
- Considder if we should apply texture transformations to the hit texture coordinates before sending them to the touch sensors.
- Member Archon::X3D::Viewer::resetViewpoint (string initialViewpointName, const CoordSystem3x3 &defaultViewpoint)
- We must also reset fieldOfView and depthOfRotation.
- Member Archon::X3D::Viewer::ShapeCache::updateTexture (const Viewer *viewer)
- Will this work on a 16 bit char platform?
- Member Archon::Display::VisualX11::newWindow (int left, int top, int width, int height, string title)
- What condition should control this?
- Member Archon::Display::VisualX11::newWindow (int left, int top, int width, int height, string title)
- What condition should control this?
- Member Archon::Display::VisualX11::newWindow (int left, int top, int width, int height, string title)
- What condition should control this?
- Member Archon::SaiTestApps::Textviewer::main (int argc, const char *argv[])
- Find bug regarding page without text on it.
- Member Archon::SaiTestApps::Textviewer::main (int argc, const char *argv[])
- What happpens if app sets a vector<Ref<NodeBase>> with nulls in it?
- Member Archon::Math::intersect (const Ray3 &, const Sphere3 &, double &dist)
- One should be able to leave out the distance argument.
- Member Archon::Utilities::cxxDemangle (string mangledName)
- Should utilize the Autoconf macro 'ax_cxx_gcc_abi_demangle'.
- Member Archon::Utilities::getDefaultPnmFormat ()
- Implement it using
libpnm
.
- Member Archon::Utilities::getDefaultTiffFormat ()
- Implement it using
libtiff
.
- Member Archon::Utilities::meshPolygon (const vector< Vector3 > &polygon, double maxPatchSize, MesherContext *context)
- vertex color interpolation texture coordinate interpolation (maybe support for concave polygons - only maybe!)
- Member Archon::Utilities::Text::escapeNonprintable (const ustring &s)
- Should detect any nonprintable unicode character, but only deals with the 8-bit ISO8859-1 subset.
- Member Archon::X3D::normalInterp (double x, double x1, double x2, Vector3 y1, Vector3 y2)
- Huh, this is heavy, could it be done in an other more afficient way? Maybe using quaternions.
- Member Archon::X3D::rotInterp (double x, double x1, double x2, Rotation3 y1, Rotation3 y2)
- Is this the right way to interpolate between orientations.
- Member Archon::X3D::initializeNetworkComponent ()
- I think the AplicationLink node is defined in a way that allows defining them in X3D files.
- File parse_xml.H
- Verify that the rest of the "glue" code of this file supports unicode.
- File script_ecma.C
- We might need to use the special unicode variants of the SpiderMonkey API calls.
- File script_ecma.C
- Currently, events generated by the script methods will be delivered imediately.
- File script_ecma.C
- Currently we do not properly support inputOutput fields since we cannot have both a method and a property of the same name.
- File script_ecma.C
- Currently we will not be able to handle a situation where a handler for an inputOutput field writes to the same field.
- Namespace Archon::Utilities::ParseValues
- These functions are not currently UNICODE enabled.
- Namespace Archon::Utilities::ParseValues
- All these functions should take generalized character iterator arguments in the STL spirit.
- Namespace Archon::Utilities::Term
- Maybe use Autoconf's AC_SYS_POSIX_TERMIOS
Generated on Sun Jul 30 22:56:35 2006 for Archon by
1.4.4