sodebugerror(3)

NAME

SoDebugError

SYNOPSIS

#include <Inventor/errors/SoDebugError.h>
Inherits SoError.

Detailed Description

The SoDebugError class is the internal debugging message passing mechanism.

This class basically serves two purposes:.

1) It is the message interface through which error and warning
conditions are passed to the programmer which is using the Coin library API for building applications. These messages are generated when API
methods are used in an incorrect manner, or if actions on the library
has caused it to enter an inconsistent state. Coin programmers should
then quickly be able to trace down errors in their application code.

For this service to be available, the Coin library must be compiled
with debugging information. For release builds, most of this
'programmer's safety net' is removed to gain maximum speed and to use
minimum space (build the smallest possible library).

2) Coin application programmers can call the SoDebugError methods within their own code as a convenient way of debugging application
code, replacing the usual cascades of fprintf() calls.

Coin supports an environment variable to set conditional breakpoints.
The COIN_DEBUG_BREAK environment variable can be set to any number of
functions in the form of a list separated by commas or spaces. The
functionnames must be given as 'classname::functioname' (ie without
return type, parenthesis or argument types or names). If a debug
message is posted from one of those functions, your program will be
stopped (using assert(0)).

This can be useful if you want to get core-dumps or enter a debugger
whenever for instance a warning or an error is posted from some
function (e.g. 'SbVec3f::normalize'). This feature is only enabled in
the debug version of Coin.
Public Types
enum Severity { ERROR, WARNING, INFO }
Public Member Functions
virtual SoType getTypeId (void) const
SoDebugError::Severity getSeverity (void) const
Static Public Member Functions
static void setHandlerCallback (SoErrorCB *const function, void *const
data)
static SoErrorCB * getHandlerCallback (void) static void * getHandlerData (void)
static SoType getClassTypeId (void) static void post (const char *const source, const char *const
format,...)
static void postWarning (const char *const source, const char *const
format,...)
static void postInfo (const char *const source, const char *const
format,...)
static void initClass (void)
Protected Member Functions
virtual SoErrorCBPtr getHandler (void *&data) const

Member Enumeration Documentation

enum SoDebugError::Severity
Specifies the available severity levels of the debug messages.

Member Function Documentation

void SoDebugError::setHandlerCallback (SoErrorCB *const function, void
*const data) [static]
This method sets the error handler callback for messages posted via
this class.
Note that this will not override the error/debug message handler for
subclasses, these will have to be overrided by calling the subclass'
setHandlerCallback() method.
See also:
defaultHandlerCB()
Reimplemented from SoError.
References SoError::defaultHandlerCB().
SoErrorCB * SoDebugError::getHandlerCallback (void) [static]
Returns the error handler callback for messages posted via this class.
Reimplemented from SoError.
void * SoDebugError::getHandlerData (void) [static]
This method returns the pointer used for passing data back to the
callback handler method.
Reimplemented from SoError.
SoType SoDebugError::getClassTypeId (void) [static]
This static method returns the SoType for this class.
See also:
getTypeId()
Reimplemented from SoError.
SoType SoDebugError::getTypeId (void) const [virtual]
This method returns the SoType of a particular object instance.
See also:
getClassTypeId()
Reimplemented from SoError.
SoDebugError::Severity SoDebugError::getSeverity (void) const
Returns severity level of current message.
You can use this to filter out debug messages and only let warnings
and/or errors pass through to the end-user if you have set your own
handler callback.
See also:
setHandlerCallback()
void SoDebugError::post (const char *const source, const char *const
format, ...) [static]
This method posts a message with severity level 'ERROR'. source should be the name of the calling function.
Referenced by SoNodekitCatalog::addListItemType(), SoPath::append(),
SoBase::assertAlive(), SoInput::checkHeader(),
SoAudioDevice::cleanup(), SoVRMLIndexedShape::computeBBox(),
SoPath::copy(), SoType::createType(), SoMFString::deleteText(),
SoMField::deleteValues(), SbMatrix::det3(), SbDPMatrix::det3(),
SoField::disconnect(), SoInput::findFile(), SoType::fromName(),
SoTransformManip::getDragger(), SoSpotLightManip::getDragger(),
SoPointLightManip::getDragger(), SoDirectionalLightManip::getDragger(), SoClipPlaneManip::getDragger(), SoSFEnum::getEnum(),
SoMFEnum::getEnum(), SoDB::getHeaderString(), SoPath::getIndex(),
SoPath::getIndexFromTail(), SoPath::getNode(),
SoPath::getNodeFromTail(), SoGeoLocation::getPrimitiveCount(),
SoVRMLSpotLight::GLRender(), SoSpotLight::GLRender(),
SoPointLight::GLRender(), SoGeometryShader::GLRender(),
SoVRMLPointLight::GLRender(), SoVRMLLOD::GLRenderBelowPath(),
SoNode::GLRenderS(), SoIndexedShape::initClass(),
SoMField::insertSpace(), SbMatrix::operator[](),
SbDPMatrix::operator[](), SbTime::parsedate(),
SoSceneManager::processEvent(), SbPlaneProjector::project(),
SbImage::readFile(), SoBase::ref(), SoCallbackList::removeCallback(),
SoPath::removeIndex(), SoChildList::removePathAuditor(),
SoMFEnum::set1Value(), SoSFEnum::setValue(), SoMFEnum::setValue(),
SbVec3s::setValue(), SbVec3i32::setValue(), SbVec2s::setValue(),
SbVec2i32::setValue(), SoConcatenate::SoConcatenate(),
SoGate::SoGate(), SoSelectOne::SoSelectOne(), and
SoDirectionalLightManip::valueChangedCB().
void SoDebugError::postWarning (const char *const source, const char
*const format, ...) [static] This method posts a message with severity level 'WARNING'. source should be the name of the calling function.
Referenced by SoEngineOutput::addConnection(), SoDB::addConverter(),
SoAction::apply(), SoNodeSensor::attach(),
SoGLRenderAction::beginTraversal(), SbSphere::circumscribe(),
SoRayPickAction::computeWorldSpaceRay(), SoField::connectFrom(),
SoDB::createGlobalField(), SoType::createInstance(),
SoBaseKit::createPathToAnyPart(), SoDB::createRoute(),
SoDB::enableRealTimeSensor(), SbVec4f::equals(), SbVec4d::equals(),
SbVec3f::equals(), SbVec3d::equals(), SbVec2f::equals(),
SbVec2d::equals(), SbMatrix::equals(), SbDPMatrix::equals(),
SoGetBoundingBoxAction::extendBy(), SbXfBox3f::extendBy(),
SbXfBox3d::extendBy(), SbBox3s::extendBy(), SbBox3f::extendBy(),
SbBox3d::extendBy(), SbBox2s::extendBy(), SbBox2i32::extendBy(),
SbBox2f::extendBy(), SbBox2d::extendBy(), SbTime::format(),
SoType::fromName(), SoFaceSet::generateDefaultNormals(),
SoVRMLText::generatePrimitives(), SoAsciiText::generatePrimitives(),
SoVRMLElevationGrid::generatePrimitives(), SoBaseKit::getAnyPart(),
SbBox2s::getAspectRatio(), SbBox2f::getAspectRatio(),
SbBox2d::getAspectRatio(), SbBox3f::getCenter(),
SbLine::getClosestPoint(), SbLine::getClosestPoints(),
SoEngineOutput::getContainer(), SoFontStyle::getFontName(),
SbTime::getMsecValue(), SoEngineOutput::getNodeContainer(),
SbVec4f::getReal(), SbVec4d::getReal(),
SbSpherePlaneProjector::getRotation(), SbBox3s::getSize(),
SbBox3f::getSize(), SbBox2s::getSize(), SbBox2f::getSize(),
SbBox2d::getSize(), SbBox3i32::getSpan(), SbBox3f::getSpan(),
SbBox3d::getSpan(), SoSFImage::getSubTexture(), SoPath::getTail(),
SoLinearProfile::getVertices(),
SoOffscreenRenderer::getWriteFiletypeInfo(), SoTexture3::GLRender(),
SoText3::GLRender(), SoQuadMesh::GLRender(), SoFaceSet::GLRender(),
SoDirectionalLight::GLRender(), SoAsciiText::GLRender(),
SoVRMLElevationGrid::GLRender(), SoVRMLDirectionalLight::GLRender(),
SoSFImage::hasTransparency(), SoOutput::indent(), SoDB::init(),
SoAudioDevice::init(), SoIndexedTriangleStripSet::initClass(),
SoIndexedLineSet::initClass(), SoIndexedFaceSet::initClass(),
SbXfBox3f::intersect(), SbXfBox3d::intersect(), SbSphere::intersect(), SbPlane::intersect(), SbCylinder::intersect(), SbRotation::inverse(),
SbMatrix::inverse(), SbDPMatrix::inverse(), SbRotation::invert(),
SoType::isDerivedFrom(), SoDB::isValidHeader(), SbVec4f::normalize(),
SbVec4d::normalize(), SbVec3f::normalize(), SbVec3d::normalize(),
SbVec2f::normalize(), SbVec2d::normalize(), SoOutput::openFile(),
SbTime::operator%(), SbTime::operator/(), SbVec4f::operator/=(),
SbVec4d::operator/=(), SbVec3s::operator/=(), SbVec3f::operator/=(),
SbVec3d::operator/=(), SbVec2s::operator/=(), SbVec2f::operator/=(),
SbVec2d::operator/=(), SbVec4f::operator[](), SbVec4d::operator[](),
SbVec2s::operator[](), SbVec2f::operator[](), SbVec2d::operator[](),
SbMatrix::operator[](), SbDPMatrix::operator[](), SbTime::parsedate(), SoSensorManager::processImmediateQueue(),
SbSphereSheetProjector::project(), SbSphereSectionProjector::project(), SbSpherePlaneProjector::project(), SbCylinderSheetProjector::project(), SbCylinderSectionProjector::project(),
SbCylinderPlaneProjector::project(), SoNurbsSurface::rayPick(),
SoNurbsCurve::rayPick(), SoIndexedNurbsSurface::rayPick(),
SoIndexedNurbsCurve::rayPick(), SoFieldData::read(), SoField::read(),
SbImage::readFile(), SoDB::registerHeader(),
SoEngineOutput::removeConnection(),
SoSensorManager::removeDelaySensor(), SoInput::removeDirectory(),
SoDB::removeRoute(), SoSensorManager::removeTimerSensor(),
SoDB::renameGlobalField(), SbPlane::SbPlane(),
SbRotation::SbRotation(), SbSphere::SbSphere(), SbVec3f::SbVec3f(),
SbViewportRegion::SbViewportRegion(), SbViewportRegion::scaleHeight(), SbViewportRegion::scaleWidth(), SoTimerSensor::schedule(),
SoTimerQueueSensor::schedule(), SoBaseKit::set(),
SoOutput::setAnnotation(), SoBaseKit::setAnyPart(),
SbCylinder::setAxis(), SbBox3s::setBounds(), SbBox3f::setBounds(),
SbBox2s::setBounds(), SbBox2f::setBounds(), SbBox2d::setBounds(),
SoInput::setBuffer(), SoOutput::setCompact(),
SoOutput::setCompression(), SoSensorManager::setDelaySensorTimeout(),
SbColor4f::setHSVValue(), SbColor::setHSVValue(),
SoTransformerManip::setLocateHighlighting(), SoBase::setName(),
SoSFImage::setNeverWrite(), SoBaseKit::setPart(),
SoEventCallback::setPath(), SbViewportRegion::setPixelsPerInch(),
SbSphere::setRadius(), SbCylinder::setRadius(),
SoRayPickAction::setRay(), SoDB::setRealTimeInterval(),
SoSFImage::setSubValue(), SoSFImage::setSubValues(),
SbCylinderSectionProjector::setTolerance(),
SbSphereSheetProjector::setupPlane(), SbVec3f::setValue(),
SbSphere::setValue(), SbRotation::setValue(), SbLine::setValue(),
SbViewportRegion::setViewport(), SbViewportRegion::setViewportPixels(), SbViewportRegion::setWindowSize(), SbRotation::slerp(),
SoVRMLSound::startPlaying(), SbPlane::transform(),
SbBox3i32::transform(), SbBox3f::transform(), SbBox3d::transform(),
SoChildList::traverse(), SoBase::unref(), SoTimerSensor::unschedule(), SoTimerQueueSensor::unschedule(), SoDelayQueueSensor::unschedule(),
SoTransformerManip::unsquishKnobs(),
SoSurroundScale::updateMySurroundParams(),
SoPerspectiveCamera::viewBoundingBox(),
SoFrustumCamera::viewBoundingBox(), SoOutput::writeBinaryArray(),
SoOffscreenRenderer::writeToPostScript(),
SoOffscreenRenderer::writeToRGB(), and
SoVRMLIndexedFaceSet::~SoVRMLIndexedFaceSet().
void SoDebugError::postInfo (const char *const source, const char *const
format, ...) [static]
This method posts a message with severity level 'INFO'. source should be the name of the calling function.
Referenced by SoNodekitCatalog::addEntry(),
SoFieldData::addEnumValue(), SoFieldData::addField(),
SoChildList::addPathAuditor(), SoNode::addToCopyDict(),
SoBase::addWriteReference(), SoNotList::append(),
SoNodeKitPath::append(), SoIntersectionDetectionAction::apply(),
SoFieldContainer::copyFieldValues(),
SoShape::createLineSegmentDetail(), SoShape::createTriangleDetail(),
SoType::createType(), SoOutput::decrementIndent(), SoBase::destroy(),
SoField::disconnect(), SbXfBox3f::extendBy(), SbXfBox3d::extendBy(),
SoInput::findFile(), SoCamera::getBalanceAdjustment(),
SoState::getElement(), SoNodeKitPath::getNode(),
SoNodeKitPath::getNodeFromTail(),
SoOffscreenRenderer::getNumWriteFiletypes(), SoNodeKitPath::getTail(), SoOffscreenRenderer::getWriteFiletypeInfo(),
SoSeparator::GLRenderBelowPath(), SoVRMLGroup::GLRenderBelowPath(),
SoAudioDevice::init(), SoSensorManager::insertDelaySensor(),
SoPath::insertIndex(), SoSensorManager::insertTimerSensor(),
SoType::isDerivedFrom(), SoOffscreenRenderer::isWriteSupported(),
SoNodeEngine::notify(), SoNode::notify(), SoFieldContainer::notify(),
SoField::notify(), SoEngine::notify(), SoBase::notify(),
SbTime::parsedate(), SoNodeKitPath::pop(),
SoSensorManager::processDelayQueue(),
SoSensorManager::processImmediateQueue(),
SoSensorManager::processTimerQueue(), SoInput::read(),
SoFieldData::read(), SoBase::read(), SoGroup::readChildren(),
SoFieldData::readFieldDescriptions(), SoBase::readRoute(),
SoBase::ref(), SoField::removeAuditor(), SoPath::removeIndex(),
SoChildList::removePathAuditor(), SoSceneManager::render(),
SoPath::replaceIndex(), SoTimerSensor::reschedule(),
SoOutput::resolveRoutes(), SoTimerSensor::schedule(),
SoSceneManager::scheduleRedraw(), SoFieldContainer::set(),
SoChildList::set(), SoInteractionKit::setAnyPartAsDefault(),
SoInteractionKit::setAnySurrogatePath(),
SoGetBoundingBoxAction::setCenter(), SoField::setDefault(),
SoSceneManager::setOrigin(), SoSceneManager::setSize(),
SoSceneManager::setViewportRegion(), SoSceneManager::setWindowSize(),
SoEngine::shouldCopy(), SoField::shouldWrite(),
SoFieldConverter::SoFieldConverter(), SoNodeKitPath::SoNodeKitPath(),
SoField::startNotify(), SoNodeKitPath::truncate(), SoBase::unref(),
SoBase::unrefNoDelete(), SoTimerSensor::unschedule(),
SoBase::writeHeader(), SoBase::~SoBase(), SoEngine::~SoEngine(),
SoEngineOutput::~SoEngineOutput(), SoField::~SoField(),
SoInterpolate::~SoInterpolate(), SoNode::~SoNode(), and
SoNodeEngine::~SoNodeEngine().
void SoDebugError::initClass (void) [static]
This method takes care of initializing all static data for the class.
Reimplemented from SoError.
References SoType::createType(), SoError::defaultHandlerCB(), and
SoError::getClassTypeId().
Referenced by SoError::initClasses().
SoErrorCB * SoDebugError::getHandler (void *& data) const [protected,
virtual]
This is just a convenience wrapper around the getHandlerCallback() and getHandlerData() methods.
Reimplemented from SoError.

Author

Generated automatically by Doxygen for Coin from the source code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout