#include <OSGClusterWindow.h>

asynchronous initialization | |
| typedef bool(* | connectioncbfp )(std::string server, Real32 progress) |
| bool | initAsync (connectioncbfp fp) |
| void | setConnectionCB (connectioncbfp fp) |
Extension handling | |
| UInt32 | getGLVersion (void) |
| bool | hasExtension (UInt32 id) |
| bool | hasExtension (const Char8 *s) |
| void * | getFunction (UInt32 id) |
| void * | getFunctionNoCheck (UInt32 id) |
| void | dumpExtensions (void) |
| Real32 | getConstantValue (GLenum val) |
| const Vec2f & | getConstantValuev (GLenum val) |
| const std::vector< std::string > & | getRegisteredFunctions (void) |
| const std::vector< std::string > & | getExtensions (void) |
| const std::vector< std::string > & | getIgnoredExtensions (void) |
| static void | setGLLibraryName (const Char8 *s) |
| static Int32 | getExtensionId (const Char8 *s) |
| static bool | hasCommonExtension (UInt32 id) |
| static const std::vector < std::string > & | getRegisteredExtensions (void) |
GL object handling | |
| void | validateGLObject (UInt32 id) |
| void | validateAllGLObjects (void) |
| void | setGLObjectId (UInt32 id, UInt32 id2) |
| UInt32 | getGLObjectId (UInt32 id) |
| static UInt32 | getGLObjectsSize (void) |
| static void | refreshGLObject (UInt32 id) |
| static void | refreshAllGLObjects (void) |
| static void | reinitializeGLObject (UInt32 id) |
| static void | reinitializeAllGLObjects (void) |
| static void | destroyGLObject (UInt32 id, UInt32 num=1) |
| static void | unpackIdStatus (UInt32 idstatus, UInt32 &id, GLObjectStatusE &status) |
GL object handling | |
| void | doInitRegisterGLObject (UInt32 id, UInt32 num) |
| static void | initRegisterGLObject (UInt32 id, UInt32 num) |
| static UInt32 | packIdStatus (UInt32 id, GLObjectStatusE status) |
Public Types | |
| enum | { ServersFieldId = Inherited::NextFieldId, ConnectionTypeFieldId = ServersFieldId + 1, ConnectionInterfaceFieldId = ConnectionTypeFieldId + 1, ConnectionDestinationFieldId = ConnectionInterfaceFieldId + 1, ConnectionParamsFieldId = ConnectionDestinationFieldId + 1, ServicePortFieldId = ConnectionParamsFieldId + 1, ServiceAddressFieldId = ServicePortFieldId + 1, ServiceInterfaceFieldId = ServiceAddressFieldId + 1, ClientWindowFieldId = ServiceInterfaceFieldId + 1, InterleaveFieldId = ClientWindowFieldId + 1, FrameCountFieldId = InterleaveFieldId + 1, ComposerFieldId = FrameCountFieldId + 1, AutostartFieldId = ComposerFieldId + 1, CalibrationFieldId = AutostartFieldId + 1, FilterFieldId = CalibrationFieldId + 1, DirtyFieldId = FilterFieldId + 1, NextFieldId = DirtyFieldId + 1 } |
| typedef ClusterWindowPtr | Ptr |
| enum | GLObjectStatusE { notused = 1, initialize, reinitialize, initialized, needrefresh, destroy, finaldestroy } |
| enum | { invalidExtensionID = 0x7fffffff, invalidFunctionID = 0x7fffffff } |
| enum | { statusShift = 3, statusMask = 7 } |
| typedef ArgsCollector< UInt32 > | GLObjectFunctorArgs |
| typedef TypedVoidFunctor2Base < PtrCallArg< Window > , GLObjectFunctorArgs > | GLObjectFunctor |
| typedef void(* | GLExtensionFunction )(void) |
| enum | { WidthFieldId = Inherited::NextFieldId, HeightFieldId = WidthFieldId + 1, PortFieldId = HeightFieldId + 1, ResizePendingFieldId = PortFieldId + 1, GlObjectEventCounterFieldId = ResizePendingFieldId + 1, GlObjectLastRefreshFieldId = GlObjectEventCounterFieldId + 1, GlObjectLastReinitializeFieldId = GlObjectLastRefreshFieldId + 1, NextFieldId = GlObjectLastReinitializeFieldId + 1 } |
| enum | { AttachmentsFieldId = Inherited::NextFieldId, NextFieldId = AttachmentsFieldId + 1 } |
| enum | { NextFieldId = 1 } |
Public Member Functions | |
window functions | |
| virtual void | changed (BitVector whichField, UInt32 origin) |
| react to field changes | |
Output | |
| virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
| output the instance for debug purposes | |
GL implementation functions | |
| virtual void(* | getFunctionByName (const Char8 *s))() |
Window system implementation functions | |
| virtual void | activate (void) |
| virtual void | deactivate (void) |
| virtual void | swap (void) |
| virtual void | init (void) |
| virtual void | render (RenderActionBase *action=NULL) |
| virtual void | renderAllViewports (RenderActionBase *action=NULL) |
| virtual void | frameInit (void) |
| virtual void | frameExit (void) |
connection pool | |
| ClusterNetwork * | getNetwork (void) |
Statistics | |
| StatCollector * | getStatistics (void) const |
| void | setStatistics (StatCollector *stat) |
Calibration | |
| bool | loadCalibration (std::istream &in) |
| bool | saveCalibration (std::ostream &out) |
| bool | loadFilter (std::istream &in) |
| bool | updateFilter (WindowPtr window, UInt32 id, RenderActionBase *action) |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| MFString * | getMFServers (void) |
| Get the ClusterWindow::_mfServers field. | |
| SFString * | getSFConnectionType (void) |
| Get the ClusterWindow::_sfConnectionType field. | |
| SFString * | getSFConnectionInterface (void) |
| Get the ClusterWindow::_sfConnectionInterface field. | |
| SFString * | getSFConnectionDestination (void) |
| Get the ClusterWindow::_sfConnectionDestination field. | |
| SFString * | getSFConnectionParams (void) |
| Get the ClusterWindow::_sfConnectionParams field. | |
| SFUInt32 * | getSFServicePort (void) |
| Get the ClusterWindow::_sfServicePort field. | |
| SFString * | getSFServiceAddress (void) |
| Get the ClusterWindow::_sfServiceAddress field. | |
| SFString * | getSFServiceInterface (void) |
| Get the ClusterWindow::_sfServiceInterface field. | |
| SFWindowPtr * | getSFClientWindow (void) |
| Get the ClusterWindow::_sfClientWindow field. | |
| SFUInt32 * | getSFInterleave (void) |
| Get the ClusterWindow::_sfInterleave field. | |
| SFUInt32 * | getSFFrameCount (void) |
| Get the ClusterWindow::_sfFrameCount field. | |
| SFImageComposerPtr * | getSFComposer (void) |
| Get the ClusterWindow::_sfComposer field. | |
| MFString * | getMFAutostart (void) |
| Get the ClusterWindow::_mfAutostart field. | |
| MFDisplayCalibrationPtr * | getMFCalibration (void) |
| Get the ClusterWindow::_mfCalibration field. | |
| MFDisplayFilterForegroundPtr * | getMFFilter (void) |
| Get the ClusterWindow::_mfFilter field. | |
| std::string & | getConnectionType (void) |
| Get the value of the ClusterWindow::_sfConnectionType field. | |
| const std::string & | getConnectionType (void) const |
| Get the value of the ClusterWindow::_sfConnectionType field. | |
| std::string & | getConnectionInterface (void) |
| Get the value of the ClusterWindow::_sfConnectionInterface field. | |
| const std::string & | getConnectionInterface (void) const |
| Get the value of the ClusterWindow::_sfConnectionInterface field. | |
| std::string & | getConnectionDestination (void) |
| Get the value of the ClusterWindow::_sfConnectionDestination field. | |
| const std::string & | getConnectionDestination (void) const |
| Get the value of the ClusterWindow::_sfConnectionDestination field. | |
| std::string & | getConnectionParams (void) |
| Get the value of the ClusterWindow::_sfConnectionParams field. | |
| const std::string & | getConnectionParams (void) const |
| Get the value of the ClusterWindow::_sfConnectionParams field. | |
| UInt32 & | getServicePort (void) |
| Get the value of the ClusterWindow::_sfServicePort field. | |
| const UInt32 & | getServicePort (void) const |
| Get the value of the ClusterWindow::_sfServicePort field. | |
| std::string & | getServiceAddress (void) |
| Get the value of the ClusterWindow::_sfServiceAddress field. | |
| const std::string & | getServiceAddress (void) const |
| Get the value of the ClusterWindow::_sfServiceAddress field. | |
| std::string & | getServiceInterface (void) |
| Get the value of the ClusterWindow::_sfServiceInterface field. | |
| const std::string & | getServiceInterface (void) const |
| Get the value of the ClusterWindow::_sfServiceInterface field. | |
| WindowPtr & | getClientWindow (void) |
| Get the value of the ClusterWindow::_sfClientWindow field. | |
| const WindowPtr & | getClientWindow (void) const |
| Get the value of the ClusterWindow::_sfClientWindow field. | |
| UInt32 & | getInterleave (void) |
| Get the value of the ClusterWindow::_sfInterleave field. | |
| const UInt32 & | getInterleave (void) const |
| Get the value of the ClusterWindow::_sfInterleave field. | |
| UInt32 & | getFrameCount (void) |
| Get the value of the ClusterWindow::_sfFrameCount field. | |
| const UInt32 & | getFrameCount (void) const |
| Get the value of the ClusterWindow::_sfFrameCount field. | |
| ImageComposerPtr & | getComposer (void) |
| Get the value of the ClusterWindow::_sfComposer field. | |
| const ImageComposerPtr & | getComposer (void) const |
| Get the value of the ClusterWindow::_sfComposer field. | |
| std::string & | getServers (const UInt32 index) |
| Get the value of the index element the ClusterWindow::_mfServers field. | |
| MFString & | getServers (void) |
| Get the ClusterWindow::_mfServers field. | |
| const MFString & | getServers (void) const |
| Get the ClusterWindow::_mfServers field. | |
| std::string & | getAutostart (const UInt32 index) |
| Get the value of the index element the ClusterWindow::_mfAutostart field. | |
| MFString & | getAutostart (void) |
| Get the ClusterWindow::_mfAutostart field. | |
| const MFString & | getAutostart (void) const |
| Get the ClusterWindow::_mfAutostart field. | |
| DisplayCalibrationPtr & | getCalibration (const UInt32 index) |
| Get the value of the index element the ClusterWindow::_mfCalibration field. | |
| MFDisplayCalibrationPtr & | getCalibration (void) |
| Get the ClusterWindow::_mfCalibration field. | |
| const MFDisplayCalibrationPtr & | getCalibration (void) const |
| Get the ClusterWindow::_mfCalibration field. | |
| DisplayFilterForegroundPtr & | getFilter (const UInt32 index) |
| Get the value of the index element the ClusterWindow::_mfFilter field. | |
| MFDisplayFilterForegroundPtr & | getFilter (void) |
| Get the ClusterWindow::_mfFilter field. | |
| const MFDisplayFilterForegroundPtr & | getFilter (void) const |
| Get the ClusterWindow::_mfFilter field. | |
Field Set | |
| void | setConnectionType (const std::string &value) |
| Set the value of the ClusterWindow::_sfConnectionType field. | |
| void | setConnectionInterface (const std::string &value) |
| Set the value of the ClusterWindow::_sfConnectionInterface field. | |
| void | setConnectionDestination (const std::string &value) |
| Set the value of the ClusterWindow::_sfConnectionDestination field. | |
| void | setConnectionParams (const std::string &value) |
| Set the value of the ClusterWindow::_sfConnectionParams field. | |
| void | setServicePort (const UInt32 &value) |
| Set the value of the ClusterWindow::_sfServicePort field. | |
| void | setServiceAddress (const std::string &value) |
| Set the value of the ClusterWindow::_sfServiceAddress field. | |
| void | setServiceInterface (const std::string &value) |
| Set the value of the ClusterWindow::_sfServiceInterface field. | |
| void | setClientWindow (const WindowPtr &value) |
| Set the value of the ClusterWindow::_sfClientWindow field. | |
| void | setInterleave (const UInt32 &value) |
| Set the value of the ClusterWindow::_sfInterleave field. | |
| void | setFrameCount (const UInt32 &value) |
| Set the value of the ClusterWindow::_sfFrameCount field. | |
| void | setComposer (const ImageComposerPtr &value) |
| Set the value of the ClusterWindow::_sfComposer field. | |
Binary Access | |
| virtual UInt32 | getBinSize (const BitVector &whichField) |
| virtual void | copyToBin (BinaryDataHandler &pMem, const BitVector &whichField) |
| virtual void | copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField) |
Copy | |
| virtual FieldContainerPtr | shallowCopy (void) const |
Viewport handling | |
| void | addPort (const ViewportPtr &portP) |
| void | insertPort (UInt32 portIndex, const ViewportPtr &portP) |
| void | replacePort (UInt32 portIndex, const ViewportPtr &portP) |
| void | replacePortBy (const ViewportPtr &portP, const ViewportPtr &newPortP) |
| void | subPort (const ViewportPtr &portP) |
| void | subPort (UInt32 portIndex) |
| void | clearPorts (void) |
Size handling | |
| bool | isResizePending (void) |
| virtual void | resize (int width, int height) |
| virtual void | resizeGL (void) |
| void | setSize (UInt16 width, UInt16 height) |
Drawing | |
| virtual void | draw (DrawAction *action=NULL) |
| virtual void | drawAllViewports (DrawAction *action=NULL) |
Field Get | |
| SFUInt16 * | getSFWidth (void) |
| Get the Window::_sfWidth field. | |
| SFUInt16 * | getSFHeight (void) |
| Get the Window::_sfHeight field. | |
| MFViewportPtr * | getMFPort (void) |
| Get the Window::_mfPort field. | |
| SFBool * | getSFResizePending (void) |
| Get the Window::_sfResizePending field. | |
| UInt16 & | getWidth (void) |
| Get the value of the Window::_sfWidth field. | |
| const UInt16 & | getWidth (void) const |
| Get the value of the Window::_sfWidth field. | |
| UInt16 & | getHeight (void) |
| Get the value of the Window::_sfHeight field. | |
| const UInt16 & | getHeight (void) const |
| Get the value of the Window::_sfHeight field. | |
| bool & | getResizePending (void) |
| Get the value of the Window::_sfResizePending field. | |
| const bool & | getResizePending (void) const |
| Get the value of the Window::_sfResizePending field. | |
| ViewportPtr & | getPort (const UInt32 index) |
| Get the value of the index element the Window::_mfPort field. | |
| MFViewportPtr & | getPort (void) |
| Get the Window::_mfPort field. | |
| const MFViewportPtr & | getPort (void) const |
| Get the Window::_mfPort field. | |
Field Set | |
| void | setWidth (const UInt16 &value) |
| Set the value of the Window::_sfWidth field. | |
| void | setHeight (const UInt16 &value) |
| Set the value of the Window::_sfHeight field. | |
| void | setResizePending (const bool &value) |
| Set the value of the Window::_sfResizePending field. | |
Handle Attachments | |
| void | addAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0) |
| void | subAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0) |
| AttachmentPtr | findAttachment (UInt32 groupId, UInt16 binding=0) |
| AttachmentPtr | findAttachment (const FieldContainerType &type, UInt16 binding=0) |
| SFAttachmentMap * | getSFAttachments (void) |
Get Instance Type Information | |
| UInt32 | getTypeId (void) const |
| UInt16 | getGroupId (void) const |
| const Char8 * | getTypeName (void) const |
| Field * | getField (UInt32 fieldId) |
| Field * | getField (const Char8 *fieldName) |
Static Public Member Functions | |
Class Get | |
| static FieldContainerType & | getClassType (void) |
| access the type of the class | |
| static UInt32 | getClassTypeId (void) |
| access the numerical type of the class | |
Construction | |
| static ClusterWindowPtr | create (void) |
| create a new instance of the class | |
| static ClusterWindowPtr | createEmpty (void) |
| create an empty new instance of the class, do not copy the prototype | |
Class Get | |
| static const char * | getClassname (void) |
Extension registration | |
| static UInt32 | registerExtension (const Char8 *s) |
| static void | ignoreExtensions (const Char8 *s) |
| static UInt32 | registerFunction (const Char8 *s, Int32 ext=-1, UInt32 version=0xffff) |
| static void | registerConstant (GLenum val) |
GL object registration | |
| static UInt32 | registerGLObject (GLObjectFunctor functor, UInt32 num=1) |
Get Class Type Information | |
| static UInt16 | getClassGroupId (void) |
Static Public Attributes | |
| static const osg::BitVector | ServersFieldMask |
| static const osg::BitVector | ConnectionTypeFieldMask |
| static const osg::BitVector | ConnectionInterfaceFieldMask |
| static const osg::BitVector | ConnectionDestinationFieldMask |
| static const osg::BitVector | ConnectionParamsFieldMask |
| static const osg::BitVector | ServicePortFieldMask |
| static const osg::BitVector | ServiceAddressFieldMask |
| static const osg::BitVector | ServiceInterfaceFieldMask |
| static const osg::BitVector | ClientWindowFieldMask |
| static const osg::BitVector | InterleaveFieldMask |
| static const osg::BitVector | FrameCountFieldMask |
| static const osg::BitVector | ComposerFieldMask |
| static const osg::BitVector | AutostartFieldMask |
| static const osg::BitVector | CalibrationFieldMask |
| static const osg::BitVector | FilterFieldMask |
| static const osg::BitVector | DirtyFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const Real32 | unknownConstant = -1e100 |
| static const osg::BitVector | WidthFieldMask |
| static const osg::BitVector | HeightFieldMask |
| static const osg::BitVector | PortFieldMask |
| static const osg::BitVector | ResizePendingFieldMask |
| static const osg::BitVector | GlObjectEventCounterFieldMask |
| static const osg::BitVector | GlObjectLastRefreshFieldMask |
| static const osg::BitVector | GlObjectLastReinitializeFieldMask |
| static const BitVector | AttachmentsFieldMask |
| static const BitVector | NextFieldMask |
CoredNodePtr helper | |
| static const bool | isNodeCore = false |
Protected Types | |
Map for GL cvonstant handling | |
| typedef std::map< GLenum, Vec2f > | ConstHash |
Protected Member Functions | |
client window funcitons | |
| virtual void | clientInit (void) |
| virtual void | clientPreSync (void) |
| virtual void | clientRender (RenderActionBase *action) |
| virtual void | clientSwap (void) |
server window funcitons | |
| virtual void | serverInit (WindowPtr window, UInt32 id) |
| virtual void | serverRender (WindowPtr window, UInt32 id, RenderActionBase *action) |
| virtual void | serverSwap (WindowPtr window, UInt32 id) |
Constructors / Destructor | |
| ClusterWindow (void) | |
| Constructor. | |
| ClusterWindow (const ClusterWindow &source) | |
| Copy Constructor. | |
| virtual | ~ClusterWindow (void) |
| Destructor. | |
Field Get | |
| SFBool * | getSFDirty (void) |
| Get the ClusterWindow::_sfDirty field. | |
| bool & | getDirty (void) |
| Get the value of the ClusterWindow::_sfDirty field. | |
| const bool & | getDirty (void) const |
| Get the value of the ClusterWindow::_sfDirty field. | |
Field Set | |
| void | setDirty (const bool &value) |
| Set the value of the ClusterWindow::_sfDirty field. | |
Sync | |
| void | executeSyncImpl (ClusterWindowBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (WindowBase *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (AttachmentContainer *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (FieldContainer *pOther, const BitVector &whichField) |
GL setup handling | |
| virtual void | setupGL (void) |
MT Construction | |
| void | onCreate (const FieldContainer *source=NULL) |
| void | onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL) |
Field Get | |
| SFUInt32 * | getSFGlObjectEventCounter (void) |
| Get the Window::_sfGlObjectEventCounter field. | |
| MFUInt32 * | getMFGlObjectLastRefresh (void) |
| Get the Window::_mfGlObjectLastRefresh field. | |
| MFUInt32 * | getMFGlObjectLastReinitialize (void) |
| Get the Window::_mfGlObjectLastReinitialize field. | |
| UInt32 & | getGlObjectEventCounter (void) |
| Get the value of the Window::_sfGlObjectEventCounter field. | |
| const UInt32 & | getGlObjectEventCounter (void) const |
| Get the value of the Window::_sfGlObjectEventCounter field. | |
| UInt32 & | getGlObjectLastRefresh (UInt32 index) |
| Get the value of the index element the Window::_mfGlObjectLastRefresh field. | |
| MFUInt32 & | getGlObjectLastRefresh (void) |
| Get the Window::_mfGlObjectLastRefresh field. | |
| const MFUInt32 & | getGlObjectLastRefresh (void) const |
| Get the Window::_mfGlObjectLastRefresh field. | |
| UInt32 & | getGlObjectLastReinitialize (UInt32 index) |
| Get the value of the index element the Window::_mfGlObjectLastReinitialize field. | |
| MFUInt32 & | getGlObjectLastReinitialize (void) |
| Get the Window::_mfGlObjectLastReinitialize field. | |
| const MFUInt32 & | getGlObjectLastReinitialize (void) const |
| Get the Window::_mfGlObjectLastReinitialize field. | |
Field Set | |
| void | setGlObjectEventCounter (const UInt32 &value) |
| Set the value of the Window::_sfGlObjectEventCounter field. | |
Pointer | |
| AttachmentContainerPtr | getPtr (void) |
MT Edit | |
| template<class FieldTypeT> | |
| void | beginEditX (const BitVector &whichField, FieldTypeT &field) |
| template<class FieldTypeT> | |
| void | endEditX (const BitVector &whichField, FieldTypeT &field) |
Static Protected Member Functions | |
Create Fieldcontainer | |
| template<class ObjectPtrT> | |
| static void | newPtr (ObjectPtrT &result, const typename ObjectPtrT::StoredObjectType *prototypeP) |
| template<class ObjectPtrT> | |
| static void | newPtr (ObjectPtrT &result) |
Protected Attributes | |
unsynced thread variables | |
| bool | _firstFrame |
| StatCollector * | _statistics |
Fields | |
| MFString | _mfServers |
| SFString | _sfConnectionType |
| SFString | _sfConnectionInterface |
| SFString | _sfConnectionDestination |
| SFString | _sfConnectionParams |
| SFUInt32 | _sfServicePort |
| SFString | _sfServiceAddress |
| SFString | _sfServiceInterface |
| SFWindowPtr | _sfClientWindow |
| SFUInt32 | _sfInterleave |
| SFUInt32 | _sfFrameCount |
| SFImageComposerPtr | _sfComposer |
| MFString | _mfAutostart |
| MFDisplayCalibrationPtr | _mfCalibration |
| MFDisplayFilterForegroundPtr | _mfFilter |
| SFBool | _sfDirty |
Fields | |
| SFUInt16 | _sfWidth |
| SFUInt16 | _sfHeight |
| MFViewportPtr | _mfPort |
| SFBool | _sfResizePending |
| SFUInt32 | _sfGlObjectEventCounter |
| MFUInt32 | _mfGlObjectLastRefresh |
| MFUInt32 | _mfGlObjectLastReinitialize |
Fields | |
| SFAttachmentMap | _attachmentMap |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef ClusterWindowBase | Inherited |
Private Member Functions | |
| void | operator= (const ClusterWindow &source) |
Static Private Member Functions | |
init method | |
| static void | initMethod (void) |
Private Attributes | |
private members | |
| connectioncbfp | _connectionFP |
| ClusterNetwork * | _network |
Friends | |
| class | FieldContainer |
| class | ClusterWindowBase |
| class | ClusterServer |
| class | ClusterClient |
GL object handling helper class | |
| class | GLObject |
Classes | |
| class | AsyncCancel |
Definition at line 57 of file OSGClusterWindow.h.
typedef ClusterWindowBase osg::ClusterWindow::Inherited [private] |
Reimplemented from osg::ClusterWindowBase.
Reimplemented in osg::MultiDisplayWindow, osg::MultiDisplayWindowBase, osg::SortFirstWindow, and osg::SortFirstWindowBase.
Definition at line 61 of file OSGClusterWindow.h.
| typedef bool(* osg::ClusterWindow::connectioncbfp)(std::string server, Real32 progress) |
typedef ClusterWindowPtr osg::ClusterWindowBase::Ptr [inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 105 of file OSGClusterWindowBase.h.
typedef ArgsCollector<UInt32> osg::Window::GLObjectFunctorArgs [inherited] |
Definition at line 96 of file OSGWindow.h.
typedef TypedVoidFunctor2Base<PtrCallArg<Window> , GLObjectFunctorArgs> osg::Window::GLObjectFunctor [inherited] |
Definition at line 99 of file OSGWindow.h.
typedef void(* osg::Window::GLExtensionFunction)(void) [inherited] |
typedef std::map< GLenum, Vec2f > osg::Window::ConstHash [protected, inherited] |
Definition at line 331 of file OSGWindow.h.
anonymous enum [inherited] |
Definition at line 107 of file OSGClusterWindowBase.h.
00108 { 00109 ServersFieldId = Inherited::NextFieldId, 00110 ConnectionTypeFieldId = ServersFieldId + 1, 00111 ConnectionInterfaceFieldId = ConnectionTypeFieldId + 1, 00112 ConnectionDestinationFieldId = ConnectionInterfaceFieldId + 1, 00113 ConnectionParamsFieldId = ConnectionDestinationFieldId + 1, 00114 ServicePortFieldId = ConnectionParamsFieldId + 1, 00115 ServiceAddressFieldId = ServicePortFieldId + 1, 00116 ServiceInterfaceFieldId = ServiceAddressFieldId + 1, 00117 ClientWindowFieldId = ServiceInterfaceFieldId + 1, 00118 InterleaveFieldId = ClientWindowFieldId + 1, 00119 FrameCountFieldId = InterleaveFieldId + 1, 00120 ComposerFieldId = FrameCountFieldId + 1, 00121 AutostartFieldId = ComposerFieldId + 1, 00122 CalibrationFieldId = AutostartFieldId + 1, 00123 FilterFieldId = CalibrationFieldId + 1, 00124 DirtyFieldId = FilterFieldId + 1, 00125 NextFieldId = DirtyFieldId + 1 00126 };
enum osg::Window::GLObjectStatusE [inherited] |
Enumeration values for the status of the GL objects. This is primarily used to signal the object's callback functions what to do. See OpenGL Objects & Extension Handling for a description.
Definition at line 78 of file OSGWindow.h.
00079 { 00080 notused = 1, 00081 initialize, 00082 reinitialize, 00083 initialized, 00084 needrefresh, 00085 destroy, 00086 finaldestroy 00087 };
anonymous enum [inherited] |
Definition at line 89 of file OSGWindow.h.
00089 { invalidExtensionID = 0x7fffffff, invalidFunctionID = 0x7fffffff };
anonymous enum [inherited] |
anonymous enum [inherited] |
| WidthFieldId | |
| HeightFieldId | |
| PortFieldId | |
| ResizePendingFieldId | |
| GlObjectEventCounterFieldId | |
| GlObjectLastRefreshFieldId | |
| GlObjectLastReinitializeFieldId | |
| NextFieldId |
Definition at line 98 of file OSGWindowBase.h.
00099 { 00100 WidthFieldId = Inherited::NextFieldId, 00101 HeightFieldId = WidthFieldId + 1, 00102 PortFieldId = HeightFieldId + 1, 00103 ResizePendingFieldId = PortFieldId + 1, 00104 GlObjectEventCounterFieldId = ResizePendingFieldId + 1, 00105 GlObjectLastRefreshFieldId = GlObjectEventCounterFieldId + 1, 00106 GlObjectLastReinitializeFieldId = GlObjectLastRefreshFieldId + 1, 00107 NextFieldId = GlObjectLastReinitializeFieldId + 1 00108 };
anonymous enum [inherited] |
Definition at line 78 of file OSGAttachmentContainerImpl.h.
00079 { 00080 AttachmentsFieldId = Inherited::NextFieldId, 00081 NextFieldId = AttachmentsFieldId + 1 00082 };
anonymous enum [inherited] |
| ClusterWindow::ClusterWindow | ( | void | ) | [protected] |
Definition at line 1227 of file OSGClusterWindow.cpp.
01227 : 01228 Inherited(), 01229 _firstFrame(true), 01230 _statistics(NULL), 01231 _connectionFP(NULL), 01232 _network(NULL) 01233 { 01234 }
| ClusterWindow::ClusterWindow | ( | const ClusterWindow & | source | ) | [protected] |
Definition at line 1238 of file OSGClusterWindow.cpp.
01238 : 01239 Inherited(source), 01240 _firstFrame(true), 01241 _statistics(NULL), 01242 _connectionFP(source._connectionFP), 01243 _network(NULL) 01244 { 01245 }
| ClusterWindow::~ClusterWindow | ( | void | ) | [protected, virtual] |
Reimplemented from osg::Window.
Reimplemented in osg::MultiDisplayWindow, and osg::SortFirstWindow.
Definition at line 89 of file OSGClusterWindow.cpp.
References osg::Window::changed().
Referenced by osg::SortFirstWindow::changed(), and osg::MultiDisplayWindow::changed().
00090 { 00091 Inherited::changed(whichField, origin); 00092 }
Reimplemented from osg::Window.
Reimplemented in osg::MultiDisplayWindow, and osg::SortFirstWindow.
Definition at line 96 of file OSGClusterWindow.cpp.
References SLOG.
00098 { 00099 SLOG << "Dump ClusterWindow NI" << std::endl; 00100 }
| virtual void(* osg::ClusterWindow::getFunctionByName | ( | const Char8 * | s | ) | [virtual] |
Reimplemented from osg::Window.
| void ClusterWindow::activate | ( | void | ) | [virtual] |
Implements osg::Window.
Definition at line 453 of file OSGClusterWindow.cpp.
Referenced by render().
| void ClusterWindow::deactivate | ( | void | ) | [virtual] |
| void ClusterWindow::swap | ( | void | ) | [virtual] |
Implements osg::Window.
Definition at line 461 of file OSGClusterWindow.cpp.
References clientSwap(), and getNetwork().
Referenced by render().
00462 { 00463 if(getNetwork()->getMainConnection() && getNetwork()->getAspect()) 00464 { 00465 clientSwap(); 00466 } 00467 }
| void ClusterWindow::init | ( | void | ) | [virtual] |
init cluster window. connect to all servers
Implements osg::Window.
Definition at line 110 of file OSGClusterWindow.cpp.
References _connectionFP, osg::ClusterWindowBase::_sfServiceAddress, _statistics, osg::SocketAddress::BROADCAST, osg::BinaryMessage::clear(), osg::DgramSocket::close(), osg::Connection::connectPoint(), osg::ConnectionFactory::createGroup(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::find(), osg::BinaryDataHandler::flush(), osg::ClusterWindowBase::getAutostart(), osg::ClusterWindowBase::getConnectionDestination(), osg::ClusterWindowBase::getConnectionInterface(), osg::ClusterWindowBase::getConnectionParams(), osg::ClusterWindowBase::getConnectionType(), osg::SocketAddress::getHost(), getNetwork(), osg::ClusterWindowBase::getServers(), osg::ClusterWindowBase::getServiceInterface(), osg::ClusterWindowBase::getServicePort(), osg::BinaryMessage::getString(), osg::BinaryDataHandler::getValue(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::DgramSocket::open(), osg::BinaryMessage::putString(), osg::BinaryDataHandler::putValue(), osg::DgramSocket::recvFrom(), osg::GroupConnection::resetSelection(), osg::Connection::selectChannel(), osg::DgramSocket::sendTo(), osg::ClusterNetwork::setAspect(), osg::ClusterWindowBase::setConnectionType(), osg::GroupConnection::setDestination(), osg::Connection::setInterface(), osg::ClusterNetwork::setMainConnection(), osg::DgramSocket::setMCastInterface(), osg::BinaryDataHandler::setNetworkOrder(), osg::Connection::setParams(), osg::RemoteAspect::setStatistics(), osg::DgramSocket::setTTL(), SFATAL, SINFO, osg::MField< FieldTypeT, fieldNameSpace >::size(), osg::GroupConnection::subSelection(), SWARNING, osg::ConnectionFactory::the(), and osg::Socket::waitReadable().
Referenced by initAsync().
00111 { 00112 GroupConnection *connection; 00113 RemoteAspect *remoteAspect; 00114 int c,i,id; 00115 MFString::iterator s; 00116 Connection::Channel channel; 00117 bool directConnect=false; 00118 00119 if(getNetwork()->getMainConnection()) 00120 { 00121 SWARNING << "init called twice" << std::endl; 00122 return; 00123 } 00124 // create connection 00125 if(getConnectionType().empty()) 00126 { 00127 setConnectionType("StreamSock"); 00128 } 00129 00130 connection = ConnectionFactory::the().createGroup(getConnectionType()); 00131 if(connection == NULL) 00132 { 00133 SFATAL << "Unknown connection type " 00134 << getConnectionType() 00135 << std::endl; 00136 return; 00137 } 00138 00139 connection->setDestination(getConnectionDestination()); 00140 connection->setInterface(getConnectionInterface()); 00141 connection->setParams(getConnectionParams()); 00142 00143 getNetwork()->setMainConnection(connection); 00144 // create remote aspect 00145 remoteAspect = new RemoteAspect(); 00146 getNetwork()->setAspect(remoteAspect); 00147 if(_statistics) 00148 remoteAspect->setStatistics(_statistics); 00149 00150 // autostart servers 00151 std::string server; 00152 std::string autostart; 00153 std::string env; 00154 00155 Real32 progress = 0.0f; 00156 Real32 progressStep = 1.0f / Real32(getServers().size()); 00157 00158 if(getAutostart().size()) 00159 { 00160 progressStep /= 2; 00161 std::vector<FILE*> pipes; 00162 00163 for(id=0 ; id<getServers().size() ; ++id) 00164 { 00165 std::ostringstream command; 00166 00167 server = getServers()[id]; 00168 int pos=server.find(":"); 00169 if(pos>=0) 00170 server.erase(pos); 00171 00172 autostart = getAutostart()[id % getAutostart().size()]; 00173 00174 for(c = 0 ; c < autostart.length() ; ++c) 00175 { 00176 if(autostart[c] == '%' && c+1 < autostart.length()) 00177 switch(autostart[++c]) 00178 { 00179 case 's': 00180 command << server; 00181 break; 00182 case 'n': 00183 command << getServers()[id]; 00184 break; 00185 case 'i': 00186 command << id; 00187 break; 00188 case '{': 00189 env = "" ; 00190 while(++c < autostart.length() && 00191 autostart[c] != '}') 00192 env += autostart[c]; 00193 if(getenv(env.c_str())) 00194 command << getenv(env.c_str()); 00195 break; 00196 case '%': 00197 command << '%'; 00198 break; 00199 default: 00200 command << '%' << autostart[c]; 00201 } 00202 else 00203 command << autostart[c]; 00204 } 00205 SINFO << command.str() << std::endl; 00206 #ifdef WIN32 00207 FILE *pipe = _popen(command.str().c_str(),"r"); 00208 #else 00209 FILE *pipe = popen(command.str().c_str(),"r"); 00210 #endif 00211 if(!pipe) 00212 SFATAL << "Error starting: " << command << std::endl; 00213 pipes.push_back(pipe); 00214 } 00215 for(id=0 ; id<getServers().size() ; ++id) 00216 { 00217 if(pipes[id]) 00218 { 00219 // update progress 00220 if(_connectionFP != NULL) 00221 { 00222 std::string message; 00223 message += "Starting:" + getServers()[id]; 00224 if(!_connectionFP(message, progress)) 00225 { 00226 // abort, cleanup remaining pipes 00227 for( ; id<getServers().size() ; ++id) 00228 { 00229 if(pipes[id]) 00230 { 00231 #ifdef WIN32 00232 _pclose(pipes[id]); 00233 #else 00234 pclose(pipes[id]); 00235 #endif 00236 } 00237 throw AsyncCancel(); 00238 } 00239 } 00240 } 00241 SINFO << "Waiting for " << getServers()[id] << " to start." << std::endl; 00242 char result; 00243 std::string line=""; 00244 while((result=fgetc(pipes[id])) != EOF) 00245 { 00246 line += result; 00247 if(result == '\n') 00248 { 00249 SINFO << line; 00250 line = ""; 00251 } 00252 } 00253 if(!line.empty()) 00254 SINFO << line << std::endl; 00255 #ifdef WIN32 00256 _pclose(pipes[id]); 00257 #else 00258 pclose(pipes[id]); 00259 #endif 00260 SINFO << getServers()[id] << " started." << std::endl; 00261 progress += progressStep; 00262 } 00263 } 00264 } 00265 00266 // connect to all servers 00267 for(s =getServers().begin(); 00268 s!=getServers().end(); 00269 s++) 00270 { 00271 DgramSocket serviceSock; 00272 BinaryMessage msg; 00273 std::string respServer; 00274 std::string respAddress; 00275 bool retry=true; 00276 00277 if(strstr((*s).c_str(),":")) 00278 directConnect = true; 00279 else 00280 directConnect = false; 00281 00282 SINFO << "Connect to " << (*s) << std::endl; 00283 serviceSock.open(); 00284 serviceSock.setTTL(8); 00285 00286 // set interface 00287 if(!getServiceInterface().empty()) 00288 { 00289 serviceSock.setMCastInterface( 00290 SocketAddress(getServiceInterface().c_str())); 00291 } 00292 00293 while(retry) 00294 { 00295 try 00296 { 00297 // update progress 00298 if(_connectionFP != NULL) 00299 { 00300 std::string message; 00301 message += "Connecting:" + *s; 00302 if(!_connectionFP(message, progress)) 00303 { 00304 serviceSock.close(); 00305 throw AsyncCancel(); 00306 } 00307 } 00308 00309 // try to connect with the servers name 00310 try 00311 { 00312 if(directConnect) 00313 { 00314 channel = connection->connectPoint(*s,0.5); 00315 if(channel >= 0) { 00316 retry=false; 00317 SINFO << "Connected with address:" << *s << std::endl; 00318 break; 00319 } 00320 } 00321 } 00322 catch(...) 00323 { 00324 } 00325 // find server 00326 msg.clear(); 00327 msg.putString(*s); 00328 msg.putString(getConnectionType()); 00329 00330 if(_sfServiceAddress.getValue().size() != 0) 00331 { 00332 SINFO << "send request to:" << 00333 _sfServiceAddress.getValue() 00334 << std::endl; 00335 serviceSock.sendTo( 00336 msg,SocketAddress( 00337 _sfServiceAddress.getValue().c_str(), 00338 getServicePort())); 00339 } 00340 SINFO << "send request to:" 00341 << SocketAddress(SocketAddress::BROADCAST, 00342 getServicePort()).getHost().c_str() 00343 << std::endl; 00344 serviceSock.sendTo( 00345 msg,SocketAddress(SocketAddress::BROADCAST, 00346 getServicePort())); 00347 if(serviceSock.waitReadable(0.1)) 00348 { 00349 SocketAddress from; 00350 serviceSock.recvFrom(msg,from); 00351 msg.getString(respServer); 00352 msg.getString(respAddress); 00353 if(respServer == *s) 00354 { 00355 GroupSockConnection *pointSock = 00356 dynamic_cast<GroupSockConnection*> (connection); 00357 if(pointSock) 00358 { 00359 /* for all socket connections ignore the 00360 incomming host and use the host from 00361 the last response. */ 00362 char port[16]; 00363 if(sscanf(respAddress.c_str(), 00364 "%*[^:]:%15s",port) == 1) 00365 respAddress = from.getHost() + ":" + port; 00366 } 00367 SINFO << "Found at address " << respAddress << std::endl; 00368 // connect to server 00369 channel = connection->connectPoint(respAddress); 00370 if(channel >= 0) 00371 retry=false; 00372 } 00373 } 00374 } 00375 catch(AsyncCancel &) 00376 { 00377 throw; 00378 } 00379 catch(OSG_STDEXCEPTION_NAMESPACE::exception &e) 00380 { 00381 SINFO << e.what() << std::endl; 00382 } 00383 } 00384 serviceSock.close(); 00385 progress += progressStep; 00386 } 00387 // determine byte order 00388 UInt8 serverLittleEndian; 00389 UInt8 forceNetworkOrder=false; 00390 #if BYTE_ORDER == LITTLE_ENDIAN 00391 UInt8 littleEndian = true; 00392 #else 00393 UInt8 littleEndian = false; 00394 #endif 00395 for(UInt32 i=0;i<getServers().size();++i) 00396 { 00397 channel = connection->selectChannel(); 00398 connection->subSelection(channel); 00399 connection->getValue(serverLittleEndian); 00400 if(serverLittleEndian != littleEndian) 00401 { 00402 forceNetworkOrder=true; 00403 } 00404 } 00405 connection->resetSelection(); 00406 // tell the servers the encoding mode 00407 connection->putValue(forceNetworkOrder); 00408 connection->flush(); 00409 connection->setNetworkOrder((forceNetworkOrder != 0)); 00410 if(forceNetworkOrder) 00411 { 00412 SINFO << "Run clustering in network order mode" << std::endl; 00413 } 00414 // inform connection finished 00415 if(_connectionFP != NULL) 00416 _connectionFP("ok", 1.0); 00417 }
| void ClusterWindow::render | ( | RenderActionBase * | action = NULL |
) | [virtual] |
Reimplemented from osg::Window.
Definition at line 444 of file OSGClusterWindow.cpp.
References activate(), frameExit(), frameInit(), renderAllViewports(), and swap().
00445 { 00446 activate(); 00447 frameInit(); 00448 renderAllViewports(action); 00449 swap(); 00450 frameExit(); 00451 }
| void ClusterWindow::renderAllViewports | ( | RenderActionBase * | action = NULL |
) | [virtual] |
Reimplemented from osg::Window.
Definition at line 469 of file OSGClusterWindow.cpp.
References clientRender(), and getNetwork().
Referenced by render().
00470 { 00471 if(getNetwork()->getMainConnection() && getNetwork()->getAspect()) 00472 { 00473 clientRender(action); 00474 } 00475 }
| void ClusterWindow::frameInit | ( | void | ) | [virtual] |
Reimplemented from osg::Window.
Definition at line 477 of file OSGClusterWindow.cpp.
References _firstFrame, osg::beginEditCP(), osg::ChangeList::clearAll(), clientInit(), clientPreSync(), osg::endEditCP(), osg::ClusterWindowBase::FrameCountFieldMask, osg::ClusterNetwork::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ClusterWindowBase::getFrameCount(), osg::ClusterNetwork::getMainConnection(), getNetwork(), osg::ChangeList::merge(), osg::RemoteAspect::sendSync(), and osg::ClusterWindowBase::setFrameCount().
Referenced by render().
00478 { 00479 ClusterWindowPtr ptr(this); 00480 Connection *connection =getNetwork()->getMainConnection(); 00481 RemoteAspect *remoteAspect=getNetwork()->getAspect(); 00482 00483 if(remoteAspect && connection) 00484 { 00485 if(_firstFrame) 00486 { 00487 beginEditCP(ptr,ClusterWindow::FrameCountFieldMask); 00488 setFrameCount(0); 00489 endEditCP(ptr,ClusterWindow::FrameCountFieldMask); 00490 // send sync 00491 remoteAspect->sendSync(*connection); 00492 ChangeList cl; 00493 cl.clearAll(); 00494 cl.merge(*Thread::getCurrentChangeList()); 00495 Thread::getCurrentChangeList()->clearAll(); 00496 // init client window 00497 clientInit(); 00498 // last chance to modifie before sync 00499 clientPreSync(); 00500 // send sync 00501 remoteAspect->sendSync(*connection); 00502 cl.merge(*Thread::getCurrentChangeList()); 00503 Thread::getCurrentChangeList()->clearAll(); 00504 Thread::getCurrentChangeList()->merge(cl); 00505 _firstFrame=false; 00506 } 00507 else 00508 { 00509 beginEditCP(ptr,ClusterWindow::FrameCountFieldMask); 00510 getFrameCount()++; 00511 endEditCP(ptr,ClusterWindow::FrameCountFieldMask); 00512 clientPreSync(); 00513 remoteAspect->sendSync(*connection); 00514 } 00515 } 00516 }
| void ClusterWindow::frameExit | ( | void | ) | [virtual] |
Reimplemented from osg::Window.
Definition at line 518 of file OSGClusterWindow.cpp.
Referenced by render().
| bool ClusterWindow::initAsync | ( | connectioncbfp | fp | ) |
Definition at line 419 of file OSGClusterWindow.cpp.
References _connectionFP, and init().
00420 { 00421 bool result; 00422 connectioncbfp saveFP = _connectionFP; 00423 00424 _connectionFP = fp; 00425 try 00426 { 00427 init(); 00428 result = true; 00429 } 00430 catch(AsyncCancel &e) 00431 { 00432 result = false; 00433 } 00434 _connectionFP = saveFP; 00435 00436 return result; 00437 }
| void ClusterWindow::setConnectionCB | ( | connectioncbfp | fp | ) |
Definition at line 439 of file OSGClusterWindow.cpp.
References _connectionFP.
00440 { 00441 _connectionFP = fp; 00442 }
| ClusterNetwork * ClusterWindow::getNetwork | ( | void | ) |
Get connection pool
Definition at line 1261 of file OSGClusterWindow.cpp.
References _network, osg::addRefP(), osg::FieldContainerPtrBase::getFieldContainerId(), and osg::ClusterNetwork::getInstance().
Referenced by osg::SortFirstWindow::clientInit(), osg::SortFirstWindow::clientSwap(), osg::MultiDisplayWindow::clientSwap(), frameInit(), init(), renderAllViewports(), osg::SortFirstWindow::serverInit(), osg::SortFirstWindow::serverRender(), osg::SortFirstWindow::serverSwap(), osg::MultiDisplayWindow::serverSwap(), setStatistics(), and swap().
01262 { 01263 if(!_network) 01264 { 01265 ClusterWindowPtr ptr(this); 01266 _network=ClusterNetwork::getInstance(ptr.getFieldContainerId()); 01267 addRefP(_network); 01268 } 01269 return _network; 01270 }
| StatCollector * osg::ClusterWindow::getStatistics | ( | void | ) | const [inline] |
Definition at line 46 of file OSGClusterWindow.inl.
References _statistics.
00047 { 00048 return _statistics; 00049 }
| void ClusterWindow::setStatistics | ( | StatCollector * | stat | ) |
Definition at line 525 of file OSGClusterWindow.cpp.
References _statistics, osg::ClusterNetwork::getAspect(), getNetwork(), and osg::RemoteAspect::setStatistics().
00526 { 00527 _statistics = statistics; 00528 if(getNetwork()->getAspect()) 00529 getNetwork()->getAspect()->setStatistics(statistics); 00530 }
| bool ClusterWindow::loadCalibration | ( | std::istream & | in | ) |
load color and projection calibration file from xml
Definition at line 537 of file OSGClusterWindow.cpp.
References osg::addRefCP(), osg::beginEditCP(), osg::ClusterWindowBase::CalibrationFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::clear(), osg::DisplayCalibrationBase::create(), osg::endEditCP(), osg::ClusterWindowBase::getCalibration(), osg::MField< FieldTypeT, fieldNameSpace >::push_back(), osg::Color3< ValueTypeT >::setValue(), osg::PointInterface< ValueTypeT, StorageInterfaceT >::setValueFromCString(), and SFATAL.
00538 { 00539 ClusterWindowPtr ptr(this); 00540 DisplayCalibrationPtr calibPtr; 00541 xmlpp::xmlcontextptr ctxptr(new xmlpp::xmlcontext()); 00542 xmlpp::xmldocument doc(ctxptr); 00543 xmlpp::xmlnodelist servers; 00544 xmlpp::xmlnodelist colors; 00545 xmlpp::xmlnodelist points; 00546 xmlpp::xmlnodelist rows; 00547 xmlpp::xmlnodelist::const_iterator sI; 00548 xmlpp::xmlnodelist::const_iterator nI; 00549 xmlpp::xmlnodelist::const_iterator cI; 00550 xmlpp::xmlnodelist::const_iterator rI; 00551 xmlpp::xmlnodelist::const_iterator pI; 00552 xmlpp::xmlstring serverTag("server"); 00553 xmlpp::xmlstring colorTag("color"); 00554 xmlpp::xmlstring rowTag("row"); 00555 xmlpp::xmlstring pointTag("point"); 00556 Matrix colorMatrix; 00557 Real32 gamma; 00558 xmlpp::xmlnodeptr nP; 00559 00560 getCalibration().clear(); 00561 try 00562 { 00563 doc.load(in,ctxptr); 00564 servers = doc.select_nodes(serverTag); 00565 // loop through servers 00566 for(sI = servers.begin() ; sI != servers.end(); ++sI) 00567 { 00568 // create new calibration structure 00569 calibPtr = DisplayCalibration::create(); 00570 beginEditCP(calibPtr); 00571 addRefCP(calibPtr); 00572 beginEditCP(ptr,CalibrationFieldMask); 00573 getCalibration().push_back(calibPtr); 00574 endEditCP(ptr,CalibrationFieldMask); 00575 00576 // server name 00577 if((*sI)->get_attrmap().count("name")) 00578 calibPtr->setServer((*sI)->get_attrmap()["name"]); 00579 00580 // loop over children 00581 for(nI = (*sI)->get_nodelist().begin(); 00582 nI != (*sI)->get_nodelist().end(); 00583 ++nI) 00584 { 00585 if((*nI)->get_name() == "colormatrix") 00586 { 00587 nP = (*nI); 00588 do 00589 nP = nP->get_nodelist().front(); 00590 while (nP->get_nodelist().size() == 1); 00591 if(nP->get_type() == xmlpp::xml_nt_cdata) 00592 calibPtr->getColorMatrix().setValue(nP->get_cdata().c_str()); 00593 } 00594 00595 if((*nI)->get_name() == "scaledown") 00596 { 00597 nP = (*nI); 00598 do 00599 nP = nP->get_nodelist().front(); 00600 while (nP->get_nodelist().size() == 1); 00601 if(nP->get_type() == xmlpp::xml_nt_cdata) 00602 sscanf(nP->get_cdata().c_str(),"%f",&calibPtr->getScaleDown()); 00603 } 00604 00605 if((*nI)->get_name() == "gamma") 00606 { 00607 nP = (*nI); 00608 do 00609 nP = nP->get_nodelist().front(); 00610 while (nP->get_nodelist().size() == 1); 00611 if(nP->get_type() == xmlpp::xml_nt_cdata) 00612 sscanf(nP->get_cdata().c_str(),"%f",&calibPtr->getGamma()); 00613 } 00614 00615 if((*nI)->get_name() == "gammaramp") 00616 { 00617 colors = (*nI)->select_nodes(colorTag); 00618 for(cI = colors.begin() ; cI != colors.end(); ++cI) 00619 { 00620 nP = (*cI); 00621 do 00622 nP = nP->get_nodelist().front(); 00623 while (nP->get_nodelist().size() == 1); 00624 if(nP->get_type() == xmlpp::xml_nt_cdata) 00625 { 00626 Color3f col; 00627 col.setValue(nP->get_cdata().c_str()); 00628 calibPtr->getGammaRamp().push_back(col); 00629 } 00630 } 00631 } 00632 if((*nI)->get_name() == "grid") 00633 { 00634 rows = (*nI)->select_nodes(rowTag); 00635 calibPtr->getGridHeight() = 0; 00636 for(rI = rows.begin() ; rI != rows.end(); ++rI) 00637 { 00638 calibPtr->getGridHeight()++; 00639 calibPtr->getGridWidth() = 0; 00640 points = (*rI)->select_nodes(pointTag); 00641 for(pI = points.begin() ; pI != points.end(); ++pI) 00642 { 00643 nP = (*pI); 00644 do 00645 nP = nP->get_nodelist().front(); 00646 while (nP->get_nodelist().size() == 1); 00647 if(nP->get_type() == xmlpp::xml_nt_cdata) 00648 { 00649 Vec2f pos; 00650 calibPtr->getGridWidth()++; 00651 pos.setValueFromCString(nP->get_cdata().c_str()); 00652 calibPtr->getGrid().push_back(pos); 00653 } 00654 } 00655 } 00656 } 00657 } 00658 endEditCP(calibPtr); 00659 } 00660 } 00661 catch (xmlpp::xmlerror e) 00662 { 00663 // parser error 00664 xmlpp::xmllocation where( ctxptr->get_location() ); 00665 xmlpp::xmlstring errmsg( e.get_strerror() ); 00666 SFATAL << "XML error line " << where.get_line() << " " 00667 << "at position " << where.get_pos() 00668 << ": error: " << errmsg.c_str() 00669 << std::endl; 00670 return false; 00671 } 00672 return true; 00673 }
| bool ClusterWindow::saveCalibration | ( | std::ostream & | out | ) |
save color and projection calibration file to xml
Definition at line 677 of file OSGClusterWindow.cpp.
References osg::ClusterWindowBase::getCalibration(), and osg::MField< FieldTypeT, fieldNameSpace >::size().
00678 { 00679 DisplayCalibrationPtr calibPtr; 00680 UInt32 c; 00681 UInt32 color,row,col,pos; 00682 00683 out << "<?xml version=\"1.0\"?>\n" 00684 << "<displaycalibration>\n"; 00685 for(c=0 ; c<getCalibration().size() ; ++c) 00686 { 00687 calibPtr = getCalibration()[c]; 00688 out << "<server name=\"" << calibPtr->getServer() << "\">\n"; 00689 out << "<gamma>" << calibPtr->getGamma() << "</gamma>\n"; 00690 out << "<scaledown>" << calibPtr->getScaleDown() << "</scaledown>\n"; 00691 out << "<colormatrix>\n" 00692 << calibPtr->getColorMatrix() 00693 << "</colormatrix>\n"; 00694 out << "<gammaramp>\n"; 00695 for(color=0 ; color< calibPtr->getGammaRamp().size() ; ++color) 00696 out << "<color>" 00697 << calibPtr->getGammaRamp()[color] 00698 << "</color>\n"; 00699 out << "</gammaramp>\n"; 00700 out << "<grid>\n"; 00701 for(row=0 ; row< calibPtr->getGridHeight() ; ++row) 00702 { 00703 out << "<row>\n"; 00704 for(col=0 ; col< calibPtr->getGridWidth() ; ++col) 00705 { 00706 pos = row*calibPtr->getGridHeight()+col; 00707 out << "<point>"; 00708 if(pos < calibPtr->getGrid().size()) 00709 out << calibPtr->getGrid()[pos][0] << " " 00710 << calibPtr->getGrid()[pos][1]; 00711 else 00712 out << col << " " << row; 00713 out << "</point>\n"; 00714 } 00715 out << "</row>\n"; 00716 } 00717 out << "</grid>\n"; 00718 out << "</server>\n"; 00719 } 00720 out << "</displaycalibration>\n"; 00721 return true; 00722 }
| bool ClusterWindow::loadFilter | ( | std::istream & | in | ) |
load display filter calibration file from xml
displayfilter server a colordisplayfilter colormatrix mat gamma size (w,h,d) shadingtable color (r,g,b)*n resolutiondisplayfilter downScale distortiondisplayfilter rows cols positions point (x,y)*n server b ...
Definition at line 744 of file OSGClusterWindow.cpp.
References osg::addRefCP(), osg::beginEditCP(), osg::MField< FieldTypeT, fieldNameSpace >::clear(), osg::DistortionDisplayFilterBase::create(), osg::ResolutionDisplayFilterBase::create(), osg::ColorDisplayFilterBase::create(), osg::DisplayFilterForegroundBase::create(), osg::ClusterWindowBase::DirtyFieldMask, osg::endEditCP(), osg::ClusterWindowBase::FilterFieldMask, osg::ClusterWindowBase::getFilter(), osg::MField< FieldTypeT, fieldNameSpace >::push_back(), osg::ClusterWindowBase::setDirty(), osg::Color3< ValueTypeT >::setValue(), osg::PointInterface< ValueTypeT, StorageInterfaceT >::setValueFromCString(), and SFATAL.
00745 { 00746 ClusterWindowPtr ptr(this); 00747 DisplayFilterForegroundPtr filterFgnd; 00748 ColorDisplayFilterPtr colorFilter; 00749 DistortionDisplayFilterPtr distortionFilter; 00750 ResolutionDisplayFilterPtr resolutionFilter; 00751 xmlpp::xmlcontextptr ctxptr(new xmlpp::xmlcontext()); 00752 xmlpp::xmldocument doc(ctxptr); 00753 xmlpp::xmlnodelist servers; 00754 xmlpp::xmlnodelist colors; 00755 xmlpp::xmlnodelist points; 00756 xmlpp::xmlnodelist::const_iterator sI; 00757 xmlpp::xmlnodelist::const_iterator fI; 00758 xmlpp::xmlnodelist::const_iterator nI; 00759 xmlpp::xmlnodelist::const_iterator cI; 00760 xmlpp::xmlnodelist::const_iterator pI; 00761 xmlpp::xmlstring serverTag("server"); 00762 xmlpp::xmlstring colorTag("color"); 00763 xmlpp::xmlstring pointTag("point"); 00764 xmlpp::xmlnodeptr nP; 00765 00766 beginEditCP(ptr, FilterFieldMask | DirtyFieldMask); 00767 getFilter().clear(); 00768 setDirty(true); 00769 endEditCP(ptr, FilterFieldMask | DirtyFieldMask); 00770 00771 try 00772 { 00773 doc.load(in, ctxptr); 00774 servers = doc.select_nodes(serverTag); 00775 00776 // loop through servers 00777 for(sI = servers.begin(); sI != servers.end(); ++sI) 00778 { 00779 // create new display filter foreground 00780 filterFgnd = DisplayFilterForeground::create(); 00781 addRefCP(filterFgnd); 00782 00783 beginEditCP(ptr, FilterFieldMask); 00784 getFilter().push_back(filterFgnd); 00785 endEditCP(ptr, FilterFieldMask); 00786 00787 beginEditCP(filterFgnd); 00788 00789 // server name 00790 if((*sI)->get_attrmap().count("name")) 00791 filterFgnd->setServer((*sI)->get_attrmap()["name"]); 00792 00793 // loop over outer children, i.e. the filters 00794 for(fI = (*sI)->get_nodelist().begin(); 00795 fI != (*sI)->get_nodelist().end(); ++fI) 00796 { 00797 if ((*fI)->get_name() == "colordisplayfilter") 00798 { 00799 colorFilter = ColorDisplayFilter::create(); 00800 addRefCP(colorFilter); 00801 00802 filterFgnd->getFilter().push_back(colorFilter); 00803 00804 beginEditCP(colorFilter); 00805 00806 // loop over inner children, i.e. the params 00807 for(nI = (*fI)->get_nodelist().begin(); 00808 nI != (*fI)->get_nodelist().end(); ++nI) 00809 { 00810 if((*nI)->get_name() == "colormatrix") 00811 { 00812 nP = (*nI); 00813 do 00814 nP = nP->get_nodelist().front(); 00815 while (nP->get_nodelist().size() == 1); 00816 00817 if(nP->get_type() == xmlpp::xml_nt_cdata) 00818 colorFilter->getMatrix().setValue(nP->get_cdata().c_str()); 00819 } 00820 if((*nI)->get_name() == "gamma") 00821 { 00822 nP = (*nI); 00823 do 00824 nP = nP->get_nodelist().front(); 00825 while (nP->get_nodelist().size() == 1); 00826 00827 if(nP->get_type() == xmlpp::xml_nt_cdata) 00828 sscanf(nP->get_cdata().c_str(),"%f", 00829 &colorFilter->getGamma()); 00830 } 00831 if((*nI)->get_name() == "size") 00832 { 00833 nP = (*nI); 00834 do 00835 nP = nP->get_nodelist().front(); 00836 while (nP->get_nodelist().size() == 1); 00837 00838 if(nP->get_type() == xmlpp::xml_nt_cdata) 00839 sscanf(nP->get_cdata().c_str(),"%d %d %d", 00840 &colorFilter->getWidth(), 00841 &colorFilter->getHeight(), 00842 &colorFilter->getDepth()); 00843 } 00844 if((*nI)->get_name() == "shadingtable") 00845 { 00846 colors = (*nI)->select_nodes(colorTag); 00847 00848 for(cI = colors.begin(); cI != colors.end(); ++cI) 00849 { 00850 nP = (*cI); 00851 do 00852 nP = nP->get_nodelist().front(); 00853 while (nP->get_nodelist().size() == 1); 00854 00855 if(nP->get_type() == xmlpp::xml_nt_cdata) 00856 { 00857 Color3f col; 00858 col.setValue(nP->get_cdata().c_str()); 00859 colorFilter->getTable().push_back(col); 00860 } 00861 } 00862 } 00863 } 00864 endEditCP(colorFilter); 00865 } // colordisplayfilter 00866 00867 if ((*fI)->get_name() == "resolutiondisplayfilter") 00868 { 00869 resolutionFilter = ResolutionDisplayFilter::create(); 00870 addRefCP(resolutionFilter); 00871 00872 filterFgnd->getFilter().push_back(resolutionFilter); 00873 00874 beginEditCP(resolutionFilter); 00875 00876 for(nI = (*fI)->get_nodelist().begin(); 00877 nI != (*fI)->get_nodelist().end(); ++nI) 00878 { 00879 if((*nI)->get_name() == "downscale") 00880 { 00881 nP = (*nI); 00882 do 00883 nP = nP->get_nodelist().front(); 00884 while (nP->get_nodelist().size() == 1); 00885 00886 if(nP->get_type() == xmlpp::xml_nt_cdata) 00887 sscanf(nP->get_cdata().c_str(),"%f", 00888 &resolutionFilter->getDownScale()); 00889 } 00890 } 00891 endEditCP(resolutionFilter); 00892 } // resolutiondisplayfilter 00893 00894 if ((*fI)->get_name() == "distortiondisplayfilter") 00895 { 00896 distortionFilter = DistortionDisplayFilter::create(); 00897 addRefCP(distortionFilter); 00898 00899 filterFgnd->getFilter().push_back(distortionFilter); 00900 00901 beginEditCP(distortionFilter); 00902 00903 for(nI = (*fI)->get_nodelist().begin(); 00904 nI != (*fI)->get_nodelist().end(); ++nI) 00905 { 00906 if((*nI)->get_name() == "rows") 00907 { 00908 nP = (*nI); 00909 do 00910 nP = nP->get_nodelist().front(); 00911 while (nP->get_nodelist().size() == 1); 00912 00913 if(nP->get_type() == xmlpp::xml_nt_cdata) 00914 sscanf(nP->get_cdata().c_str(),"%d", 00915 &distortionFilter->getRows()); 00916 } 00917 if((*nI)->get_name() == "cols") 00918 { 00919 nP = (*nI); 00920 do 00921 nP = nP->get_nodelist().front(); 00922 while (nP->get_nodelist().size() == 1); 00923 00924 if(nP->get_type() == xmlpp::xml_nt_cdata) 00925 sscanf(nP->get_cdata().c_str(),"%d", 00926 &distortionFilter->getColumns()); 00927 } 00928 if((*nI)->get_name() == "positions") 00929 { 00930 points = (*nI)->select_nodes(pointTag); 00931 00932 for(pI = points.begin(); pI != points.end(); ++pI) 00933 { 00934 nP = (*pI); 00935 do 00936 nP = nP->get_nodelist().front(); 00937 while (nP->get_nodelist().size() == 1); 00938 00939 if(nP->get_type() == xmlpp::xml_nt_cdata) 00940 { 00941 Vec2f pos; 00942 pos.setValueFromCString(nP->get_cdata().c_str()); 00943 distortionFilter->getPositions().push_back(pos); 00944 } 00945 } 00946 } 00947 } 00948 endEditCP(distortionFilter); 00949 } // distortiondisplayfilter 00950 } 00951 00952 endEditCP(filterFgnd); 00953 } // servers 00954 } 00955 catch (xmlpp::xmlerror e) 00956 { 00957 // parser error 00958 xmlpp::xmllocation where( ctxptr->get_location() ); 00959 xmlpp::xmlstring errmsg( e.get_strerror() ); 00960 SFATAL << "XML error line " << where.get_line() << " " 00961 << "at position " << where.get_pos() 00962 << ": error: " << errmsg.c_str() 00963 << std::endl; 00964 return false; 00965 } 00966 return true; 00967 }
| bool ClusterWindow::updateFilter | ( | WindowPtr | window, | |
| UInt32 | id, | |||
| RenderActionBase * | action | |||
| ) |
load color and projection calibration file from xml
Definition at line 1045 of file OSGClusterWindow.cpp.
References osg::beginEditCP(), osg::ClusterWindowBase::DirtyFieldMask, osg::endEditCP(), osg::ViewportBase::ForegroundsFieldMask, osg::ClusterWindowBase::getDirty(), osg::ClusterWindowBase::getFilter(), osg::ClusterWindowBase::getServers(), p, osg::ClusterWindowBase::setDirty(), and osg::MField< FieldTypeT, fieldNameSpace >::size().
Referenced by serverRender().
01047 { 01048 bool found = false; 01049 01050 if (!getFilter().empty() && getDirty()) 01051 { 01052 UInt32 c, p; 01053 01054 ClusterWindowPtr ptr(this); 01055 01056 beginEditCP(ptr, DirtyFieldMask); 01057 setDirty(false); 01058 endEditCP(ptr, DirtyFieldMask); 01059 01060 // for all viewports 01061 for(p=0; p<window->getPort().size(); ++p) 01062 { 01063 // search filter foregrounds 01064 for(c=0; c<getFilter().size(); ++c) 01065 { 01066 std::string name = getServers()[id]; 01067 char portName[64]; 01068 01069 if(window->getPort().size() > 1) 01070 { 01071 sprintf(portName,"[%d]",p); 01072 name = name + portName; 01073 } 01074 01075 DisplayFilterForegroundPtr filterFgnd = getFilter()[c]; 01076 01077 if(filterFgnd->getServer() == name) 01078 { 01079 beginEditCP(window->getPort()[p], Viewport::ForegroundsFieldMask); 01080 01081 // first remove old filters, if any 01082 for (Int32 n=window->getPort()[p]->getForegrounds().size(), j=n-1; 01083 j>=0; j--) 01084 { 01085 MFForegroundPtr::iterator fgndIt = 01086 window->getPort()[p]->getForegrounds().begin() + j; 01087 if ( (*fgndIt) == filterFgnd ) 01088 window->getPort()[p]->getForegrounds().erase(fgndIt); 01089 } 01090 01091 // then add new one 01092 window->getPort()[p]->getForegrounds().push_back(filterFgnd); 01093 01094 endEditCP(window->getPort()[p], Viewport::ForegroundsFieldMask); 01095 01096 found = true; 01097 break; 01098 } 01099 } 01100 } 01101 } 01102 01103 return found; 01104 }
| void ClusterWindow::clientInit | ( | void | ) | [protected, virtual] |
init client window. In a derived cluster window this method is called before the first sync with the rendering servers. There is no default action.
Reimplemented in osg::MultiDisplayWindow, and osg::SortFirstWindow.
Definition at line 983 of file OSGClusterWindow.cpp.
Referenced by osg::SortFirstWindow::clientInit(), and frameInit().
| void ClusterWindow::clientPreSync | ( | void | ) | [protected, virtual] |
client frame before sync
In a derived cluster window this method is called before sync with the rendering servers. Default aciton is to activate and init the client window.
Reimplemented in osg::SortFirstWindow.
Definition at line 994 of file OSGClusterWindow.cpp.
References osg::ClusterWindowBase::getClientWindow(), and osg::NullFC.
Referenced by osg::SortFirstWindow::clientPreSync(), and frameInit().
00995 { 00996 if(getClientWindow() != NullFC) 00997 { 00998 getClientWindow()->activate(); 00999 getClientWindow()->frameInit(); 01000 } 01001 }
| void ClusterWindow::clientRender | ( | RenderActionBase * | action | ) | [protected, virtual] |
initiate client rendering
In a derived cluster window this method is called after the sync with all rendering servers. Default aciton is to render all viewports of the client window.
Reimplemented in osg::SortFirstWindow.
Definition at line 1010 of file OSGClusterWindow.cpp.
References osg::ClusterWindowBase::getClientWindow(), and osg::NullFC.
Referenced by renderAllViewports().
01011 { 01012 if(getClientWindow() != NullFC) 01013 { 01014 getClientWindow()->renderAllViewports( action ); 01015 } 01016 }
| void ClusterWindow::clientSwap | ( | void | ) | [protected, virtual] |
swap client window
In a derived cluster window this method is called after rendering Default action is to swap the local client window.
Reimplemented in osg::MultiDisplayWindow, and osg::SortFirstWindow.
Definition at line 1024 of file OSGClusterWindow.cpp.
References osg::beginEditCP(), osg::ClusterWindowBase::DirtyFieldMask, osg::endEditCP(), osg::ClusterWindowBase::getClientWindow(), osg::ClusterWindowBase::getDirty(), osg::NullFC, and osg::ClusterWindowBase::setDirty().
Referenced by osg::SortFirstWindow::clientSwap(), osg::MultiDisplayWindow::clientSwap(), and swap().
01025 { 01026 if(getClientWindow() != NullFC) 01027 { 01028 getClientWindow()->swap( ); 01029 getClientWindow()->frameExit(); 01030 } 01031 01032 if (getDirty()) 01033 { 01034 ClusterWindowPtr ptr(this); 01035 01036 beginEditCP(ptr, DirtyFieldMask); 01037 setDirty(false); 01038 endEditCP(ptr, DirtyFieldMask); 01039 } 01040 }
initialise the cluster window on the server side
This method is called after the first sync.
| window | server render window | |
| id | server id |
Reimplemented in osg::MultiDisplayWindow, and osg::SortFirstWindow.
Definition at line 1114 of file OSGClusterWindow.cpp.
| void ClusterWindow::serverRender | ( | WindowPtr | window, | |
| UInt32 | id, | |||
| RenderActionBase * | action | |||
| ) | [protected, virtual] |
render server window
This method is called after synchronisation of all changes with the rendering client. Default action is to render all viewports with the given action
!param window server render window !param id server id !param action action
Reimplemented in osg::MultiDisplayWindow, and osg::SortFirstWindow.
Definition at line 1130 of file OSGClusterWindow.cpp.
References osg::ClusterWindowBase::getCalibration(), osg::AttachmentContainerPtr::getCPtr(), osg::ClusterWindowBase::getServers(), osg::NullFC, p, osg::DrawActionBase::setWindow(), osg::MField< FieldTypeT, fieldNameSpace >::size(), and updateFilter().
Referenced by osg::SortFirstWindow::serverRender(), and osg::MultiDisplayWindow::serverRender().
01133 { 01134 updateFilter(window, id, action); 01135 01136 RenderOptionsPtr ro; 01137 01138 window->activate(); 01139 window->frameInit(); 01140 01141 RenderAction *ract = dynamic_cast<RenderAction *>(action); 01142 if(ract != NULL) 01143 { 01144 MFViewportPtr::iterator portIt = window->getPort().begin(); 01145 MFViewportPtr::const_iterator portEnd = window->getPort().end(); 01146 // try to find option as an attachment of window 01147 OSG::RenderOptionsPtr winRo = OSG::RenderOptionsPtr::dcast( 01148 window->findAttachment(OSG::RenderOptions::getClassType())); 01149 ract->setWindow(window.getCPtr()); 01150 while(portIt != portEnd) 01151 { 01152 // try to find option an attachment at the viewport 01153 OSG::RenderOptionsPtr vpRo = OSG::RenderOptionsPtr::dcast( 01154 (*portIt)->findAttachment(OSG::RenderOptions::getClassType())); 01155 // try to find option an attachment at the root node 01156 OSG::RenderOptionsPtr rootRo = NullFC; 01157 if((*portIt)->getRoot() != NullFC) 01158 { 01159 rootRo = OSG::RenderOptionsPtr::dcast( 01160 (*portIt)->getRoot()->findAttachment(OSG::RenderOptions::getClassType())); 01161 } 01162 if(rootRo != NullFC) 01163 ro = rootRo; 01164 else 01165 if(vpRo != NullFC) 01166 ro = vpRo; 01167 else 01168 ro = winRo; 01169 if(ro != NullFC) 01170 ro->activateOptions(ract); 01171 (*portIt)->render(ract); 01172 ++portIt; 01173 } 01174 } else { 01175 if(action) 01176 window->renderAllViewports(action); 01177 } 01178 01179 // do calibration 01180 DisplayCalibrationPtr calibPtr=NullFC; 01181 UInt32 c, p; 01182 01183 // for all viewports 01184 for(p = 0 ; p<window->getPort().size() ; ++p) 01185 { 01186 // search calibration 01187 for(c=0 ; c<getCalibration().size() ; ++c) 01188 { 01189 std::string name = getServers()[id]; 01190 char portName[64]; 01191 if(window->getPort().size() > 1) 01192 { 01193 sprintf(portName,"[%d]",p); 01194 name = name + portName; 01195 } 01196 if(getCalibration()[c]->getServer() == name) 01197 { 01198 calibPtr = getCalibration()[c]; 01199 calibPtr->calibrate(window->getPort()[p],action); 01200 break; 01201 } 01202 } 01203 } 01204 }
swap server window
serverSwap is called after rendering. Default action is to swap the rendering window.
!param window server render window !param id server id !param connection connection to client
Reimplemented in osg::MultiDisplayWindow, and osg::SortFirstWindow.
Definition at line 1215 of file OSGClusterWindow.cpp.
Referenced by osg::MultiDisplayWindow::serverSwap().
| void ClusterWindow::initMethod | ( | void | ) | [static, private] |
initialize the static features of the class, e.g. action callbacks
Reimplemented from osg::Window.
Reimplemented in osg::MultiDisplayWindow, and osg::SortFirstWindow.
Definition at line 1274 of file OSGClusterWindow.cpp.
| void osg::ClusterWindow::operator= | ( | const ClusterWindow & | source | ) | [private] |
| osg::FieldContainerType & osg::ClusterWindowBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 58 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_type.
Referenced by osg::ClusterWindowBase::create(), and osg::ClusterServer::start().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::ClusterWindowBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 65 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & osg::ClusterWindowBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 271 of file OSGClusterWindowBase.cpp.
References osg::ClusterWindowBase::_type.
00272 { 00273 return _type; 00274 }
| const FieldContainerType & osg::ClusterWindowBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 276 of file OSGClusterWindowBase.cpp.
References osg::ClusterWindowBase::_type.
00277 { 00278 return _type; 00279 }
| UInt32 osg::ClusterWindowBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 291 of file OSGClusterWindowBase.cpp.
| MFString * osg::ClusterWindowBase::getMFServers | ( | void | ) | [inline, inherited] |
Definition at line 101 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfServers.
00102 { 00103 return &_mfServers; 00104 }
| SFString * osg::ClusterWindowBase::getSFConnectionType | ( | void | ) | [inline, inherited] |
Definition at line 108 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionType.
00109 { 00110 return &_sfConnectionType; 00111 }
| SFString * osg::ClusterWindowBase::getSFConnectionInterface | ( | void | ) | [inline, inherited] |
Definition at line 115 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionInterface.
00116 { 00117 return &_sfConnectionInterface; 00118 }
| SFString * osg::ClusterWindowBase::getSFConnectionDestination | ( | void | ) | [inline, inherited] |
Definition at line 122 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionDestination.
00123 { 00124 return &_sfConnectionDestination; 00125 }
| SFString * osg::ClusterWindowBase::getSFConnectionParams | ( | void | ) | [inline, inherited] |
Definition at line 129 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionParams.
00130 { 00131 return &_sfConnectionParams; 00132 }
| SFUInt32 * osg::ClusterWindowBase::getSFServicePort | ( | void | ) | [inline, inherited] |
Definition at line 136 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServicePort.
00137 { 00138 return &_sfServicePort; 00139 }
| SFString * osg::ClusterWindowBase::getSFServiceAddress | ( | void | ) | [inline, inherited] |
Definition at line 143 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServiceAddress.
00144 { 00145 return &_sfServiceAddress; 00146 }
| SFString * osg::ClusterWindowBase::getSFServiceInterface | ( | void | ) | [inline, inherited] |
Definition at line 150 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServiceInterface.
00151 { 00152 return &_sfServiceInterface; 00153 }
| SFWindowPtr * osg::ClusterWindowBase::getSFClientWindow | ( | void | ) | [inline, inherited] |
Definition at line 157 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfClientWindow.
00158 { 00159 return &_sfClientWindow; 00160 }
| SFUInt32 * osg::ClusterWindowBase::getSFInterleave | ( | void | ) | [inline, inherited] |
Definition at line 164 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfInterleave.
00165 { 00166 return &_sfInterleave; 00167 }
| SFUInt32 * osg::ClusterWindowBase::getSFFrameCount | ( | void | ) | [inline, inherited] |
Definition at line 171 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfFrameCount.
00172 { 00173 return &_sfFrameCount; 00174 }
| SFImageComposerPtr * osg::ClusterWindowBase::getSFComposer | ( | void | ) | [inline, inherited] |
Definition at line 178 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfComposer.
00179 { 00180 return &_sfComposer; 00181 }
| MFString * osg::ClusterWindowBase::getMFAutostart | ( | void | ) | [inline, inherited] |
Definition at line 185 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfAutostart.
00186 { 00187 return &_mfAutostart; 00188 }
| MFDisplayCalibrationPtr * osg::ClusterWindowBase::getMFCalibration | ( | void | ) | [inline, inherited] |
Definition at line 192 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfCalibration.
00193 { 00194 return &_mfCalibration; 00195 }
| MFDisplayFilterForegroundPtr * osg::ClusterWindowBase::getMFFilter | ( | void | ) | [inline, inherited] |
Definition at line 199 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfFilter.
00200 { 00201 return &_mfFilter; 00202 }
| std::string & osg::ClusterWindowBase::getConnectionType | ( | void | ) | [inline, inherited] |
Definition at line 214 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionType, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by init().
00215 { 00216 return _sfConnectionType.getValue(); 00217 }
| const std::string & osg::ClusterWindowBase::getConnectionType | ( | void | ) | const [inline, inherited] |
Definition at line 221 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionType, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00222 { 00223 return _sfConnectionType.getValue(); 00224 }
| std::string & osg::ClusterWindowBase::getConnectionInterface | ( | void | ) | [inline, inherited] |
Definition at line 235 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionInterface, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by init().
00236 { 00237 return _sfConnectionInterface.getValue(); 00238 }
| const std::string & osg::ClusterWindowBase::getConnectionInterface | ( | void | ) | const [inline, inherited] |
Definition at line 242 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionInterface, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00243 { 00244 return _sfConnectionInterface.getValue(); 00245 }
| std::string & osg::ClusterWindowBase::getConnectionDestination | ( | void | ) | [inline, inherited] |
Definition at line 256 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionDestination, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by init().
00257 { 00258 return _sfConnectionDestination.getValue(); 00259 }
| const std::string & osg::ClusterWindowBase::getConnectionDestination | ( | void | ) | const [inline, inherited] |
Definition at line 263 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionDestination, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00264 { 00265 return _sfConnectionDestination.getValue(); 00266 }
| std::string & osg::ClusterWindowBase::getConnectionParams | ( | void | ) | [inline, inherited] |
Definition at line 277 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionParams, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by init().
00278 { 00279 return _sfConnectionParams.getValue(); 00280 }
| const std::string & osg::ClusterWindowBase::getConnectionParams | ( | void | ) | const [inline, inherited] |
Definition at line 284 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionParams, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00285 { 00286 return _sfConnectionParams.getValue(); 00287 }
| UInt32 & osg::ClusterWindowBase::getServicePort | ( | void | ) | [inline, inherited] |
Definition at line 298 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServicePort, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by init().
00299 { 00300 return _sfServicePort.getValue(); 00301 }
| const UInt32 & osg::ClusterWindowBase::getServicePort | ( | void | ) | const [inline, inherited] |
Definition at line 305 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServicePort, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00306 { 00307 return _sfServicePort.getValue(); 00308 }
| std::string & osg::ClusterWindowBase::getServiceAddress | ( | void | ) | [inline, inherited] |
Definition at line 319 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServiceAddress, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00320 { 00321 return _sfServiceAddress.getValue(); 00322 }
| const std::string & osg::ClusterWindowBase::getServiceAddress | ( | void | ) | const [inline, inherited] |
Definition at line 326 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServiceAddress, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00327 { 00328 return _sfServiceAddress.getValue(); 00329 }
| std::string & osg::ClusterWindowBase::getServiceInterface | ( | void | ) | [inline, inherited] |
Definition at line 340 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServiceInterface, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by init().
00341 { 00342 return _sfServiceInterface.getValue(); 00343 }
| const std::string & osg::ClusterWindowBase::getServiceInterface | ( | void | ) | const [inline, inherited] |
Definition at line 347 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServiceInterface, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00348 { 00349 return _sfServiceInterface.getValue(); 00350 }
| WindowPtr & osg::ClusterWindowBase::getClientWindow | ( | void | ) | [inline, inherited] |
Definition at line 361 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfClientWindow, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::MultiDisplayWindow::clientInit(), osg::SortFirstWindow::clientPreSync(), clientPreSync(), clientRender(), osg::SortFirstWindow::clientSwap(), and clientSwap().
00362 { 00363 return _sfClientWindow.getValue(); 00364 }
| const WindowPtr & osg::ClusterWindowBase::getClientWindow | ( | void | ) | const [inline, inherited] |
Definition at line 368 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfClientWindow, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00369 { 00370 return _sfClientWindow.getValue(); 00371 }
| UInt32 & osg::ClusterWindowBase::getInterleave | ( | void | ) | [inline, inherited] |
Definition at line 382 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfInterleave, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::MultiDisplayWindow::clientSwap(), and osg::MultiDisplayWindow::serverSwap().
00383 { 00384 return _sfInterleave.getValue(); 00385 }
| const UInt32 & osg::ClusterWindowBase::getInterleave | ( | void | ) | const [inline, inherited] |
Definition at line 389 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfInterleave, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00390 { 00391 return _sfInterleave.getValue(); 00392 }
| UInt32 & osg::ClusterWindowBase::getFrameCount | ( | void | ) | [inline, inherited] |
Definition at line 403 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfFrameCount, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by frameInit().
00404 { 00405 return _sfFrameCount.getValue(); 00406 }
| const UInt32 & osg::ClusterWindowBase::getFrameCount | ( | void | ) | const [inline, inherited] |
Definition at line 410 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfFrameCount, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00411 { 00412 return _sfFrameCount.getValue(); 00413 }
| ImageComposerPtr & osg::ClusterWindowBase::getComposer | ( | void | ) | [inline, inherited] |
Definition at line 424 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfComposer, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00425 { 00426 return _sfComposer.getValue(); 00427 }
| const ImageComposerPtr & osg::ClusterWindowBase::getComposer | ( | void | ) | const [inline, inherited] |
Definition at line 431 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfComposer, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00432 { 00433 return _sfComposer.getValue(); 00434 }
| std::string & osg::ClusterWindowBase::getServers | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 467 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfServers.
00468 { 00469 return _mfServers[index]; 00470 }
| MFString & osg::ClusterWindowBase::getServers | ( | void | ) | [inline, inherited] |
Definition at line 474 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfServers.
Referenced by osg::SortFirstWindow::clientPreSync(), init(), osg::SortFirstWindow::serverRender(), osg::MultiDisplayWindow::serverRender(), serverRender(), and updateFilter().
00475 { 00476 return _mfServers; 00477 }
| const MFString & osg::ClusterWindowBase::getServers | ( | void | ) | const [inline, inherited] |
Definition at line 481 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfServers.
00482 { 00483 return _mfServers; 00484 }
| std::string & osg::ClusterWindowBase::getAutostart | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 488 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfAutostart.
00489 { 00490 return _mfAutostart[index]; 00491 }
| MFString & osg::ClusterWindowBase::getAutostart | ( | void | ) | [inline, inherited] |
Definition at line 495 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfAutostart.
Referenced by init().
00496 { 00497 return _mfAutostart; 00498 }
| const MFString & osg::ClusterWindowBase::getAutostart | ( | void | ) | const [inline, inherited] |
Definition at line 502 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfAutostart.
00503 { 00504 return _mfAutostart; 00505 }
| DisplayCalibrationPtr & osg::ClusterWindowBase::getCalibration | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 509 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfCalibration.
00510 { 00511 return _mfCalibration[index]; 00512 }
| MFDisplayCalibrationPtr & osg::ClusterWindowBase::getCalibration | ( | void | ) | [inline, inherited] |
Definition at line 516 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfCalibration.
Referenced by loadCalibration(), saveCalibration(), and serverRender().
00517 { 00518 return _mfCalibration; 00519 }
| const MFDisplayCalibrationPtr & osg::ClusterWindowBase::getCalibration | ( | void | ) | const [inline, inherited] |
Definition at line 523 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfCalibration.
00524 { 00525 return _mfCalibration; 00526 }
| DisplayFilterForegroundPtr & osg::ClusterWindowBase::getFilter | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 530 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfFilter.
00531 { 00532 return _mfFilter[index]; 00533 }
| MFDisplayFilterForegroundPtr & osg::ClusterWindowBase::getFilter | ( | void | ) | [inline, inherited] |
Definition at line 537 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfFilter.
Referenced by loadFilter(), and updateFilter().
00538 { 00539 return _mfFilter; 00540 }
| const MFDisplayFilterForegroundPtr & osg::ClusterWindowBase::getFilter | ( | void | ) | const [inline, inherited] |
Definition at line 544 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_mfFilter.
00545 { 00546 return _mfFilter; 00547 }
| void osg::ClusterWindowBase::setConnectionType | ( | const std::string & | value | ) | [inline, inherited] |
Definition at line 228 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionType, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by init().
00229 { 00230 _sfConnectionType.setValue(value); 00231 }
| void osg::ClusterWindowBase::setConnectionInterface | ( | const std::string & | value | ) | [inline, inherited] |
Definition at line 249 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionInterface, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00250 { 00251 _sfConnectionInterface.setValue(value); 00252 }
| void osg::ClusterWindowBase::setConnectionDestination | ( | const std::string & | value | ) | [inline, inherited] |
Definition at line 270 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionDestination, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00271 { 00272 _sfConnectionDestination.setValue(value); 00273 }
| void osg::ClusterWindowBase::setConnectionParams | ( | const std::string & | value | ) | [inline, inherited] |
Definition at line 291 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfConnectionParams, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00292 { 00293 _sfConnectionParams.setValue(value); 00294 }
| void osg::ClusterWindowBase::setServicePort | ( | const UInt32 & | value | ) | [inline, inherited] |
Definition at line 312 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServicePort, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00313 { 00314 _sfServicePort.setValue(value); 00315 }
| void osg::ClusterWindowBase::setServiceAddress | ( | const std::string & | value | ) | [inline, inherited] |
Definition at line 333 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServiceAddress, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00334 { 00335 _sfServiceAddress.setValue(value); 00336 }
| void osg::ClusterWindowBase::setServiceInterface | ( | const std::string & | value | ) | [inline, inherited] |
Definition at line 354 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfServiceInterface, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00355 { 00356 _sfServiceInterface.setValue(value); 00357 }
| void osg::ClusterWindowBase::setClientWindow | ( | const WindowPtr & | value | ) | [inline, inherited] |
Definition at line 375 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfClientWindow, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00376 { 00377 _sfClientWindow.setValue(value); 00378 }
| void osg::ClusterWindowBase::setInterleave | ( | const UInt32 & | value | ) | [inline, inherited] |
Definition at line 396 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfInterleave, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00397 { 00398 _sfInterleave.setValue(value); 00399 }
| void osg::ClusterWindowBase::setFrameCount | ( | const UInt32 & | value | ) | [inline, inherited] |
Definition at line 417 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfFrameCount, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by frameInit().
00418 { 00419 _sfFrameCount.setValue(value); 00420 }
| void osg::ClusterWindowBase::setComposer | ( | const ImageComposerPtr & | value | ) | [inline, inherited] |
Definition at line 438 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfComposer, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00439 { 00440 _sfComposer.setValue(value); 00441 }
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 387 of file OSGClusterWindowBase.cpp.
References osg::ClusterWindowBase::_mfAutostart, osg::ClusterWindowBase::_mfCalibration, osg::ClusterWindowBase::_mfFilter, osg::ClusterWindowBase::_mfServers, osg::ClusterWindowBase::_sfClientWindow, osg::ClusterWindowBase::_sfComposer, osg::ClusterWindowBase::_sfConnectionDestination, osg::ClusterWindowBase::_sfConnectionInterface, osg::ClusterWindowBase::_sfConnectionParams, osg::ClusterWindowBase::_sfConnectionType, osg::ClusterWindowBase::_sfDirty, osg::ClusterWindowBase::_sfFrameCount, osg::ClusterWindowBase::_sfInterleave, osg::ClusterWindowBase::_sfServiceAddress, osg::ClusterWindowBase::_sfServiceInterface, osg::ClusterWindowBase::_sfServicePort, osg::ClusterWindowBase::AutostartFieldMask, osg::ClusterWindowBase::CalibrationFieldMask, osg::ClusterWindowBase::ClientWindowFieldMask, osg::ClusterWindowBase::ComposerFieldMask, osg::ClusterWindowBase::ConnectionDestinationFieldMask, osg::ClusterWindowBase::ConnectionInterfaceFieldMask, osg::ClusterWindowBase::ConnectionParamsFieldMask, osg::ClusterWindowBase::ConnectionTypeFieldMask, osg::ClusterWindowBase::DirtyFieldMask, osg::ClusterWindowBase::FilterFieldMask, osg::ClusterWindowBase::FrameCountFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::WindowBase::getBinSize(), osg::ClusterWindowBase::InterleaveFieldMask, osg::FieldBits::NoField, osg::ClusterWindowBase::ServersFieldMask, osg::ClusterWindowBase::ServiceAddressFieldMask, osg::ClusterWindowBase::ServiceInterfaceFieldMask, and osg::ClusterWindowBase::ServicePortFieldMask.
Referenced by osg::SortFirstWindowBase::getBinSize(), and osg::MultiDisplayWindowBase::getBinSize().
00388 { 00389 UInt32 returnValue = Inherited::getBinSize(whichField); 00390 00391 if(FieldBits::NoField != (ServersFieldMask & whichField)) 00392 { 00393 returnValue += _mfServers.getBinSize(); 00394 } 00395 00396 if(FieldBits::NoField != (ConnectionTypeFieldMask & whichField)) 00397 { 00398 returnValue += _sfConnectionType.getBinSize(); 00399 } 00400 00401 if(FieldBits::NoField != (ConnectionInterfaceFieldMask & whichField)) 00402 { 00403 returnValue += _sfConnectionInterface.getBinSize(); 00404 } 00405 00406 if(FieldBits::NoField != (ConnectionDestinationFieldMask & whichField)) 00407 { 00408 returnValue += _sfConnectionDestination.getBinSize(); 00409 } 00410 00411 if(FieldBits::NoField != (ConnectionParamsFieldMask & whichField)) 00412 { 00413 returnValue += _sfConnectionParams.getBinSize(); 00414 } 00415 00416 if(FieldBits::NoField != (ServicePortFieldMask & whichField)) 00417 { 00418 returnValue += _sfServicePort.getBinSize(); 00419 } 00420 00421 if(FieldBits::NoField != (ServiceAddressFieldMask & whichField)) 00422 { 00423 returnValue += _sfServiceAddress.getBinSize(); 00424 } 00425 00426 if(FieldBits::NoField != (ServiceInterfaceFieldMask & whichField)) 00427 { 00428 returnValue += _sfServiceInterface.getBinSize(); 00429 } 00430 00431 if(FieldBits::NoField != (ClientWindowFieldMask & whichField)) 00432 { 00433 returnValue += _sfClientWindow.getBinSize(); 00434 } 00435 00436 if(FieldBits::NoField != (InterleaveFieldMask & whichField)) 00437 { 00438 returnValue += _sfInterleave.getBinSize(); 00439 } 00440 00441 if(FieldBits::NoField != (FrameCountFieldMask & whichField)) 00442 { 00443 returnValue += _sfFrameCount.getBinSize(); 00444 } 00445 00446 if(FieldBits::NoField != (ComposerFieldMask & whichField)) 00447 { 00448 returnValue += _sfComposer.getBinSize(); 00449 } 00450 00451 if(FieldBits::NoField != (AutostartFieldMask & whichField)) 00452 { 00453 returnValue += _mfAutostart.getBinSize(); 00454 } 00455 00456 if(FieldBits::NoField != (CalibrationFieldMask & whichField)) 00457 { 00458 returnValue += _mfCalibration.getBinSize(); 00459 } 00460 00461 if(FieldBits::NoField != (FilterFieldMask & whichField)) 00462 { 00463 returnValue += _mfFilter.getBinSize(); 00464 } 00465 00466 if(FieldBits::NoField != (DirtyFieldMask & whichField)) 00467 { 00468 returnValue += _sfDirty.getBinSize(); 00469 } 00470 00471 00472 return returnValue; 00473 }
| void osg::ClusterWindowBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 475 of file OSGClusterWindowBase.cpp.
References osg::ClusterWindowBase::_mfAutostart, osg::ClusterWindowBase::_mfCalibration, osg::ClusterWindowBase::_mfFilter, osg::ClusterWindowBase::_mfServers, osg::ClusterWindowBase::_sfClientWindow, osg::ClusterWindowBase::_sfComposer, osg::ClusterWindowBase::_sfConnectionDestination, osg::ClusterWindowBase::_sfConnectionInterface, osg::ClusterWindowBase::_sfConnectionParams, osg::ClusterWindowBase::_sfConnectionType, osg::ClusterWindowBase::_sfDirty, osg::ClusterWindowBase::_sfFrameCount, osg::ClusterWindowBase::_sfInterleave, osg::ClusterWindowBase::_sfServiceAddress, osg::ClusterWindowBase::_sfServiceInterface, osg::ClusterWindowBase::_sfServicePort, osg::ClusterWindowBase::AutostartFieldMask, osg::ClusterWindowBase::CalibrationFieldMask, osg::ClusterWindowBase::ClientWindowFieldMask, osg::ClusterWindowBase::ComposerFieldMask, osg::ClusterWindowBase::ConnectionDestinationFieldMask, osg::ClusterWindowBase::ConnectionInterfaceFieldMask, osg::ClusterWindowBase::ConnectionParamsFieldMask, osg::ClusterWindowBase::ConnectionTypeFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::WindowBase::copyToBin(), osg::ClusterWindowBase::DirtyFieldMask, osg::ClusterWindowBase::FilterFieldMask, osg::ClusterWindowBase::FrameCountFieldMask, osg::ClusterWindowBase::InterleaveFieldMask, osg::FieldBits::NoField, osg::ClusterWindowBase::ServersFieldMask, osg::ClusterWindowBase::ServiceAddressFieldMask, osg::ClusterWindowBase::ServiceInterfaceFieldMask, and osg::ClusterWindowBase::ServicePortFieldMask.
Referenced by osg::SortFirstWindowBase::copyToBin(), and osg::MultiDisplayWindowBase::copyToBin().
00477 { 00478 Inherited::copyToBin(pMem, whichField); 00479 00480 if(FieldBits::NoField != (ServersFieldMask & whichField)) 00481 { 00482 _mfServers.copyToBin(pMem); 00483 } 00484 00485 if(FieldBits::NoField != (ConnectionTypeFieldMask & whichField)) 00486 { 00487 _sfConnectionType.copyToBin(pMem); 00488 } 00489 00490 if(FieldBits::NoField != (ConnectionInterfaceFieldMask & whichField)) 00491 { 00492 _sfConnectionInterface.copyToBin(pMem); 00493 } 00494 00495 if(FieldBits::NoField != (ConnectionDestinationFieldMask & whichField)) 00496 { 00497 _sfConnectionDestination.copyToBin(pMem); 00498 } 00499 00500 if(FieldBits::NoField != (ConnectionParamsFieldMask & whichField)) 00501 { 00502 _sfConnectionParams.copyToBin(pMem); 00503 } 00504 00505 if(FieldBits::NoField != (ServicePortFieldMask & whichField)) 00506 { 00507 _sfServicePort.copyToBin(pMem); 00508 } 00509 00510 if(FieldBits::NoField != (ServiceAddressFieldMask & whichField)) 00511 { 00512 _sfServiceAddress.copyToBin(pMem); 00513 } 00514 00515 if(FieldBits::NoField != (ServiceInterfaceFieldMask & whichField)) 00516 { 00517 _sfServiceInterface.copyToBin(pMem); 00518 } 00519 00520 if(FieldBits::NoField != (ClientWindowFieldMask & whichField)) 00521 { 00522 _sfClientWindow.copyToBin(pMem); 00523 } 00524 00525 if(FieldBits::NoField != (InterleaveFieldMask & whichField)) 00526 { 00527 _sfInterleave.copyToBin(pMem); 00528 } 00529 00530 if(FieldBits::NoField != (FrameCountFieldMask & whichField)) 00531 { 00532 _sfFrameCount.copyToBin(pMem); 00533 } 00534 00535 if(FieldBits::NoField != (ComposerFieldMask & whichField)) 00536 { 00537 _sfComposer.copyToBin(pMem); 00538 } 00539 00540 if(FieldBits::NoField != (AutostartFieldMask & whichField)) 00541 { 00542 _mfAutostart.copyToBin(pMem); 00543 } 00544 00545 if(FieldBits::NoField != (CalibrationFieldMask & whichField)) 00546 { 00547 _mfCalibration.copyToBin(pMem); 00548 } 00549 00550 if(FieldBits::NoField != (FilterFieldMask & whichField)) 00551 { 00552 _mfFilter.copyToBin(pMem); 00553 } 00554 00555 if(FieldBits::NoField != (DirtyFieldMask & whichField)) 00556 { 00557 _sfDirty.copyToBin(pMem); 00558 } 00559 00560 00561 }
| void osg::ClusterWindowBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 563 of file OSGClusterWindowBase.cpp.
References osg::ClusterWindowBase::_mfAutostart, osg::ClusterWindowBase::_mfCalibration, osg::ClusterWindowBase::_mfFilter, osg::ClusterWindowBase::_mfServers, osg::ClusterWindowBase::_sfClientWindow, osg::ClusterWindowBase::_sfComposer, osg::ClusterWindowBase::_sfConnectionDestination, osg::ClusterWindowBase::_sfConnectionInterface, osg::ClusterWindowBase::_sfConnectionParams, osg::ClusterWindowBase::_sfConnectionType, osg::ClusterWindowBase::_sfDirty, osg::ClusterWindowBase::_sfFrameCount, osg::ClusterWindowBase::_sfInterleave, osg::ClusterWindowBase::_sfServiceAddress, osg::ClusterWindowBase::_sfServiceInterface, osg::ClusterWindowBase::_sfServicePort, osg::ClusterWindowBase::AutostartFieldMask, osg::ClusterWindowBase::CalibrationFieldMask, osg::ClusterWindowBase::ClientWindowFieldMask, osg::ClusterWindowBase::ComposerFieldMask, osg::ClusterWindowBase::ConnectionDestinationFieldMask, osg::ClusterWindowBase::ConnectionInterfaceFieldMask, osg::ClusterWindowBase::ConnectionParamsFieldMask, osg::ClusterWindowBase::ConnectionTypeFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::WindowBase::copyFromBin(), osg::ClusterWindowBase::DirtyFieldMask, osg::ClusterWindowBase::FilterFieldMask, osg::ClusterWindowBase::FrameCountFieldMask, osg::ClusterWindowBase::InterleaveFieldMask, osg::FieldBits::NoField, osg::ClusterWindowBase::ServersFieldMask, osg::ClusterWindowBase::ServiceAddressFieldMask, osg::ClusterWindowBase::ServiceInterfaceFieldMask, and osg::ClusterWindowBase::ServicePortFieldMask.
Referenced by osg::SortFirstWindowBase::copyFromBin(), and osg::MultiDisplayWindowBase::copyFromBin().
00565 { 00566 Inherited::copyFromBin(pMem, whichField); 00567 00568 if(FieldBits::NoField != (ServersFieldMask & whichField)) 00569 { 00570 _mfServers.copyFromBin(pMem); 00571 } 00572 00573 if(FieldBits::NoField != (ConnectionTypeFieldMask & whichField)) 00574 { 00575 _sfConnectionType.copyFromBin(pMem); 00576 } 00577 00578 if(FieldBits::NoField != (ConnectionInterfaceFieldMask & whichField)) 00579 { 00580 _sfConnectionInterface.copyFromBin(pMem); 00581 } 00582 00583 if(FieldBits::NoField != (ConnectionDestinationFieldMask & whichField)) 00584 { 00585 _sfConnectionDestination.copyFromBin(pMem); 00586 } 00587 00588 if(FieldBits::NoField != (ConnectionParamsFieldMask & whichField)) 00589 { 00590 _sfConnectionParams.copyFromBin(pMem); 00591 } 00592 00593 if(FieldBits::NoField != (ServicePortFieldMask & whichField)) 00594 { 00595 _sfServicePort.copyFromBin(pMem); 00596 } 00597 00598 if(FieldBits::NoField != (ServiceAddressFieldMask & whichField)) 00599 { 00600 _sfServiceAddress.copyFromBin(pMem); 00601 } 00602 00603 if(FieldBits::NoField != (ServiceInterfaceFieldMask & whichField)) 00604 { 00605 _sfServiceInterface.copyFromBin(pMem); 00606 } 00607 00608 if(FieldBits::NoField != (ClientWindowFieldMask & whichField)) 00609 { 00610 _sfClientWindow.copyFromBin(pMem); 00611 } 00612 00613 if(FieldBits::NoField != (InterleaveFieldMask & whichField)) 00614 { 00615 _sfInterleave.copyFromBin(pMem); 00616 } 00617 00618 if(FieldBits::NoField != (FrameCountFieldMask & whichField)) 00619 { 00620 _sfFrameCount.copyFromBin(pMem); 00621 } 00622 00623 if(FieldBits::NoField != (ComposerFieldMask & whichField)) 00624 { 00625 _sfComposer.copyFromBin(pMem); 00626 } 00627 00628 if(FieldBits::NoField != (AutostartFieldMask & whichField)) 00629 { 00630 _mfAutostart.copyFromBin(pMem); 00631 } 00632 00633 if(FieldBits::NoField != (CalibrationFieldMask & whichField)) 00634 { 00635 _mfCalibration.copyFromBin(pMem); 00636 } 00637 00638 if(FieldBits::NoField != (FilterFieldMask & whichField)) 00639 { 00640 _mfFilter.copyFromBin(pMem); 00641 } 00642 00643 if(FieldBits::NoField != (DirtyFieldMask & whichField)) 00644 { 00645 _sfDirty.copyFromBin(pMem); 00646 } 00647 00648 00649 }
| ClusterWindowPtr osg::ClusterWindowBase::create | ( | void | ) | [inline, static, inherited] |
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 72 of file OSGClusterWindowBase.inl.
References osg::AttachmentContainerPtr::dcast(), osg::ClusterWindowBase::getClassType(), osg::NullFC, and osg::ClusterWindowBase::shallowCopy().
00073 { 00074 ClusterWindowPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = ClusterWindowPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| ClusterWindowPtr osg::ClusterWindowBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 87 of file OSGClusterWindowBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 ClusterWindowPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr osg::ClusterWindowBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Implements osg::FieldContainer.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 282 of file OSGClusterWindowBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::ClusterWindowBase::create().
00283 { 00284 ClusterWindowPtr returnValue; 00285 00286 newPtr(returnValue, dynamic_cast<const ClusterWindow *>(this)); 00287 00288 return returnValue; 00289 }
| SFBool * osg::ClusterWindowBase::getSFDirty | ( | void | ) | [inline, protected, inherited] |
Definition at line 206 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfDirty.
00207 { 00208 return &_sfDirty; 00209 }
| bool & osg::ClusterWindowBase::getDirty | ( | void | ) | [inline, protected, inherited] |
Definition at line 445 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfDirty, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by clientSwap(), and updateFilter().
00446 { 00447 return _sfDirty.getValue(); 00448 }
| const bool & osg::ClusterWindowBase::getDirty | ( | void | ) | const [inline, protected, inherited] |
Definition at line 452 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfDirty, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00453 { 00454 return _sfDirty.getValue(); 00455 }
| void osg::ClusterWindowBase::setDirty | ( | const bool & | value | ) | [inline, protected, inherited] |
Definition at line 459 of file OSGClusterWindowBase.inl.
References osg::ClusterWindowBase::_sfDirty, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by clientSwap(), loadFilter(), updateFilter(), and osg::MultiDisplayWindow::updateViewport().
| void osg::ClusterWindowBase::executeSyncImpl | ( | ClusterWindowBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 652 of file OSGClusterWindowBase.cpp.
References osg::ClusterWindowBase::_mfAutostart, osg::ClusterWindowBase::_mfCalibration, osg::ClusterWindowBase::_mfFilter, osg::ClusterWindowBase::_mfServers, osg::ClusterWindowBase::_sfClientWindow, osg::ClusterWindowBase::_sfComposer, osg::ClusterWindowBase::_sfConnectionDestination, osg::ClusterWindowBase::_sfConnectionInterface, osg::ClusterWindowBase::_sfConnectionParams, osg::ClusterWindowBase::_sfConnectionType, osg::ClusterWindowBase::_sfDirty, osg::ClusterWindowBase::_sfFrameCount, osg::ClusterWindowBase::_sfInterleave, osg::ClusterWindowBase::_sfServiceAddress, osg::ClusterWindowBase::_sfServiceInterface, osg::ClusterWindowBase::_sfServicePort, osg::ClusterWindowBase::AutostartFieldMask, osg::ClusterWindowBase::CalibrationFieldMask, osg::ClusterWindowBase::ClientWindowFieldMask, osg::ClusterWindowBase::ComposerFieldMask, osg::ClusterWindowBase::ConnectionDestinationFieldMask, osg::ClusterWindowBase::ConnectionInterfaceFieldMask, osg::ClusterWindowBase::ConnectionParamsFieldMask, osg::ClusterWindowBase::ConnectionTypeFieldMask, osg::ClusterWindowBase::DirtyFieldMask, osg::WindowBase::executeSyncImpl(), osg::ClusterWindowBase::FilterFieldMask, osg::ClusterWindowBase::FrameCountFieldMask, osg::ClusterWindowBase::InterleaveFieldMask, osg::FieldBits::NoField, osg::ClusterWindowBase::ServersFieldMask, osg::ClusterWindowBase::ServiceAddressFieldMask, osg::ClusterWindowBase::ServiceInterfaceFieldMask, osg::ClusterWindowBase::ServicePortFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), and osg::MField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::ClusterWindowBase::executeSync(), osg::SortFirstWindowBase::executeSyncImpl(), and osg::MultiDisplayWindowBase::executeSyncImpl().
00654 { 00655 00656 Inherited::executeSyncImpl(pOther, whichField); 00657 00658 if(FieldBits::NoField != (ServersFieldMask & whichField)) 00659 _mfServers.syncWith(pOther->_mfServers); 00660 00661 if(FieldBits::NoField != (ConnectionTypeFieldMask & whichField)) 00662 _sfConnectionType.syncWith(pOther->_sfConnectionType); 00663 00664 if(FieldBits::NoField != (ConnectionInterfaceFieldMask & whichField)) 00665 _sfConnectionInterface.syncWith(pOther->_sfConnectionInterface); 00666 00667 if(FieldBits::NoField != (ConnectionDestinationFieldMask & whichField)) 00668 _sfConnectionDestination.syncWith(pOther->_sfConnectionDestination); 00669 00670 if(FieldBits::NoField != (ConnectionParamsFieldMask & whichField)) 00671 _sfConnectionParams.syncWith(pOther->_sfConnectionParams); 00672 00673 if(FieldBits::NoField != (ServicePortFieldMask & whichField)) 00674 _sfServicePort.syncWith(pOther->_sfServicePort); 00675 00676 if(FieldBits::NoField != (ServiceAddressFieldMask & whichField)) 00677 _sfServiceAddress.syncWith(pOther->_sfServiceAddress); 00678 00679 if(FieldBits::NoField != (ServiceInterfaceFieldMask & whichField)) 00680 _sfServiceInterface.syncWith(pOther->_sfServiceInterface); 00681 00682 if(FieldBits::NoField != (ClientWindowFieldMask & whichField)) 00683 _sfClientWindow.syncWith(pOther->_sfClientWindow); 00684 00685 if(FieldBits::NoField != (InterleaveFieldMask & whichField)) 00686 _sfInterleave.syncWith(pOther->_sfInterleave); 00687 00688 if(FieldBits::NoField != (FrameCountFieldMask & whichField)) 00689 _sfFrameCount.syncWith(pOther->_sfFrameCount); 00690 00691 if(FieldBits::NoField != (ComposerFieldMask & whichField)) 00692 _sfComposer.syncWith(pOther->_sfComposer); 00693 00694 if(FieldBits::NoField != (AutostartFieldMask & whichField)) 00695 _mfAutostart.syncWith(pOther->_mfAutostart); 00696 00697 if(FieldBits::NoField != (CalibrationFieldMask & whichField)) 00698 _mfCalibration.syncWith(pOther->_mfCalibration); 00699 00700 if(FieldBits::NoField != (FilterFieldMask & whichField)) 00701 _mfFilter.syncWith(pOther->_mfFilter); 00702 00703 if(FieldBits::NoField != (DirtyFieldMask & whichField)) 00704 _sfDirty.syncWith(pOther->_sfDirty); 00705 00706 00707 }
| void WindowBase::executeSyncImpl | ( | WindowBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 390 of file OSGWindowBase.cpp.
References osg::WindowBase::_mfGlObjectLastRefresh, osg::WindowBase::_mfGlObjectLastReinitialize, osg::WindowBase::_mfPort, osg::WindowBase::_sfGlObjectEventCounter, osg::WindowBase::_sfHeight, osg::WindowBase::_sfResizePending, osg::WindowBase::_sfWidth, osg::AttachmentContainer::executeSyncImpl(), osg::WindowBase::GlObjectEventCounterFieldMask, osg::WindowBase::GlObjectLastRefreshFieldMask, osg::WindowBase::GlObjectLastReinitializeFieldMask, osg::WindowBase::HeightFieldMask, osg::FieldBits::NoField, osg::WindowBase::PortFieldMask, osg::WindowBase::ResizePendingFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), and osg::WindowBase::WidthFieldMask.
Referenced by osg::WindowBase::executeSync(), osg::XWindowBase::executeSyncImpl(), osg::WIN32WindowBase::executeSyncImpl(), osg::PassiveWindowBase::executeSyncImpl(), osg::GLUTWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::executeSyncImpl().
00392 { 00393 00394 Inherited::executeSyncImpl(pOther, whichField); 00395 00396 if(FieldBits::NoField != (WidthFieldMask & whichField)) 00397 _sfWidth.syncWith(pOther->_sfWidth); 00398 00399 if(FieldBits::NoField != (HeightFieldMask & whichField)) 00400 _sfHeight.syncWith(pOther->_sfHeight); 00401 00402 if(FieldBits::NoField != (PortFieldMask & whichField)) 00403 _mfPort.syncWith(pOther->_mfPort); 00404 00405 if(FieldBits::NoField != (ResizePendingFieldMask & whichField)) 00406 _sfResizePending.syncWith(pOther->_sfResizePending); 00407 00408 if(FieldBits::NoField != (GlObjectEventCounterFieldMask & whichField)) 00409 _sfGlObjectEventCounter.syncWith(pOther->_sfGlObjectEventCounter); 00410 00411 if(FieldBits::NoField != (GlObjectLastRefreshFieldMask & whichField)) 00412 _mfGlObjectLastRefresh.syncWith(pOther->_mfGlObjectLastRefresh); 00413 00414 if(FieldBits::NoField != (GlObjectLastReinitializeFieldMask & whichField)) 00415 _mfGlObjectLastReinitialize.syncWith(pOther->_mfGlObjectLastReinitialize); 00416 00417 00418 }
| void AttachmentContainer::executeSyncImpl | ( | AttachmentContainer * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 316 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::AttachmentContainer::AttachmentsFieldMask, osg::FieldContainer::executeSyncImpl(), osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::AttachmentContainer::executeSync(), osg::WindowBase::executeSyncImpl(), osg::ViewportBase::executeSyncImpl(), osg::ShaderParameterBase::executeSyncImpl(), osg::Node::executeSyncImpl(), osg::NodeCore::executeSyncImpl(), osg::MaterialBase::executeSyncImpl(), osg::ImageComposerBase::executeSyncImpl(), osg::ImageBase::executeSyncImpl(), osg::ForegroundBase::executeSyncImpl(), osg::DisplayFilterBase::executeSyncImpl(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::CameraBase::executeSyncImpl(), and osg::BackgroundBase::executeSyncImpl().
00319 { 00320 Inherited::executeSyncImpl(pOther, whichField); 00321 00322 if (FieldBits::NoField != (AttachmentsFieldMask & whichField)) 00323 { 00324 _attachmentMap.syncWith(pOther->_attachmentMap); 00325 } 00326 }
| void osg::FieldContainer::executeSyncImpl | ( | FieldContainer * | pOther, | |
| const BitVector & | whichField | |||
| ) | [inline, protected, inherited] |
Definition at line 333 of file OSGFieldContainerImpl.inl.
Referenced by osg::StateBase::executeSyncImpl(), osg::DVRShaderBase::executeSyncImpl(), osg::DVRClipGeometryBase::executeSyncImpl(), osg::AttachmentContainer::executeSyncImpl(), and osg::Attachment::executeSyncImpl().
| void osg::ClusterWindowBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 298 of file OSGClusterWindowBase.cpp.
References osg::ClusterWindowBase::executeSyncImpl().
00300 { 00301 this->executeSyncImpl((ClusterWindowBase *) &other, whichField); 00302 }
| static const char* osg::Window::getClassname | ( | void | ) | [inline, static, inherited] |
| void osg::Window::addPort | ( | const ViewportPtr & | portP | ) | [inherited] |
Definition at line 407 of file OSGWindow.cpp.
References osg::WindowBase::_mfPort, osg::MField< FieldTypeT, fieldNameSpace >::back(), osg::beginEditCP(), osg::endEditCP(), osg::NullFC, osg::ViewportBase::ParentFieldMask, and osg::MField< FieldTypeT, fieldNameSpace >::push_back().
00408 { 00409 if(portP != NullFC) 00410 { 00411 _mfPort.push_back(portP); 00412 // CHECK CHECK 00413 // _mfPort.back()->setParent(FieldContainer::getPtr<WindowPtr>(*this)); 00414 00415 beginEditCP(portP, Viewport::ParentFieldMask); 00416 { 00417 _mfPort.back()->setParent(WindowPtr(*this)); 00418 } 00419 endEditCP (portP, Viewport::ParentFieldMask); 00420 } 00421 }
| void osg::Window::insertPort | ( | UInt32 | portIndex, | |
| const ViewportPtr & | portP | |||
| ) | [inherited] |
Definition at line 423 of file OSGWindow.cpp.
References osg::WindowBase::_mfPort, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::beginEditCP(), osg::endEditCP(), osg::MField< FieldTypeT, fieldNameSpace >::insert(), osg::NullFC, and osg::ViewportBase::ParentFieldMask.
00424 { 00425 MFViewportPtr::iterator portIt = _mfPort.begin(); 00426 00427 if(portP != NullFC) 00428 { 00429 portIt += portIndex; 00430 00431 // CHECK CHECK 00432 // (*(_mfPort.insert(portIt, portP)))->setParent( 00433 // FieldContainer::getPtr<WindowPtr>(*this)); 00434 00435 beginEditCP(portP, Viewport::ParentFieldMask); 00436 { 00437 (*(_mfPort.insert(portIt, portP)))->setParent( 00438 WindowPtr(*this)); 00439 } 00440 endEditCP (portP, Viewport::ParentFieldMask); 00441 00442 } 00443 }
| void osg::Window::replacePort | ( | UInt32 | portIndex, | |
| const ViewportPtr & | portP | |||
| ) | [inherited] |
Definition at line 446 of file OSGWindow.cpp.
References osg::WindowBase::_mfPort, and osg::NullFC.
00447 { 00448 if(portP != NullFC) 00449 { 00450 _mfPort[portIndex]->setParent(NullFC); 00451 _mfPort[portIndex] = portP; 00452 // CHECK CHECK 00453 // _mfPort.getValue(portIndex)->setParent( 00454 // FieldContainer::getPtr<WindowPtr>(*this)); 00455 _mfPort[portIndex]->setParent( 00456 WindowPtr(*this)); 00457 } 00458 }
| void osg::Window::replacePortBy | ( | const ViewportPtr & | portP, | |
| const ViewportPtr & | newPortP | |||
| ) | [inherited] |
Definition at line 460 of file OSGWindow.cpp.
References osg::WindowBase::_mfPort, osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::find(), and osg::NullFC.
00462 { 00463 MFViewportPtr::iterator portIt = _mfPort.find(portP); 00464 00465 if(newportP != NullFC) 00466 { 00467 if(portIt != _mfPort.end()) 00468 { 00469 (*portIt)->setParent(NullFC); 00470 (*portIt) = newportP; 00471 // CHECK CHECK 00472 // (*portIt)->setParent( 00473 // FieldContainer::getPtr<WindowPtr>(*this)); 00474 (*portIt)->setParent( 00475 WindowPtr(*this)); 00476 } 00477 } 00478 }
| void osg::Window::subPort | ( | const ViewportPtr & | portP | ) | [inherited] |
Definition at line 480 of file OSGWindow.cpp.
References osg::WindowBase::_mfPort, osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::erase(), osg::MField< FieldTypeT, fieldNameSpace >::find(), and osg::NullFC.
00481 { 00482 MFViewportPtr::iterator portIt = _mfPort.find(portP); 00483 00484 if(portIt != _mfPort.end()) 00485 { 00486 (*portIt)->setParent(NullFC); 00487 00488 _mfPort.erase(portIt); 00489 } 00490 00491 }
| void osg::Window::subPort | ( | UInt32 | portIndex | ) | [inherited] |
Definition at line 493 of file OSGWindow.cpp.
References osg::WindowBase::_mfPort, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::erase(), and osg::NullFC.
00494 { 00495 MFViewportPtr::iterator portIt = _mfPort.begin(); 00496 00497 portIt += portIndex; 00498 00499 if(portIt != _mfPort.end()) 00500 { 00501 (*portIt)->setParent(NullFC); 00502 00503 _mfPort.erase(portIt); 00504 } 00505 }
| void osg::Window::clearPorts | ( | void | ) | [inherited] |
Definition at line 507 of file OSGWindow.cpp.
References osg::WindowBase::_mfPort, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::clear(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::NullFC, and osg::subRefCP().
00508 { 00509 MFViewportPtr::iterator portIt = _mfPort.begin(); 00510 00511 while(portIt != _mfPort.end()) 00512 { 00513 (*portIt)->setParent(NullFC); 00514 00515 subRefCP(*portIt); 00516 } 00517 00518 _mfPort.clear(); 00519 }
Register a new OpenGL extension. See OpenGL Extensions for details. Ignores NULL strings.
Definition at line 920 of file OSGWindow.cpp.
References osg::Window::_registeredExtensions, FDEBUG, FPDEBUG, osg::Window::staticAcquire(), and osg::Window::staticRelease().
Referenced by osg::BlendChunk::BlendChunk(), osg::PhongMaterial::createChunkMaterial(), osg::DisplayCalibration::createCMViewports(), osg::DVRIsoShader::DVRIsoShader(), osg::DVRMtexLUTShader::DVRMtexLUTShader(), osg::DVRSimpleLUTShader::DVRSimpleLUTShader(), osg::FBOViewport::FBOViewport(), osg::FragmentProgramChunk::FragmentProgramChunk(), osg::GeoPumpFactory::glextInitFunction(), osg::Particles::Particles(), osg::PhongMaterial::PhongMaterial(), osg::PointChunk::PointChunk(), osg::ProgramChunk::ProgramChunk(), osg::RegisterCombinersChunk::RegisterCombinersChunk(), osg::RenderAction::RenderAction(), osg::SHLChunk::SHLChunk(), osg::SHLParameterChunk::SHLParameterChunk(), osg::Slices::Slices(), osg::TextureChunk::TextureChunk(), and osg::VertexProgramChunk::VertexProgramChunk().
00921 { 00922 FDEBUG(("Window::registerExtension: register '%s': ", s)); 00923 staticAcquire(); 00924 00925 if(s == NULL) 00926 { 00927 staticRelease(); 00928 return TypeTraits<UInt32>::getMax(); 00929 } 00930 00931 std::vector<std::string>::iterator i; 00932 00933 i = std::find(_registeredExtensions.begin(), _registeredExtensions.end(), 00934 s); 00935 00936 if(i < _registeredExtensions.end()) 00937 { 00938 staticRelease(); 00939 FPDEBUG(("reusing id %d\n", i - _registeredExtensions.begin())); 00940 return i - _registeredExtensions.begin(); 00941 } 00942 00943 UInt32 r = _registeredExtensions.size(); 00944 _registeredExtensions.push_back(s); 00945 00946 FPDEBUG(("new id %d\n", r)); 00947 00948 staticRelease(); 00949 return r; 00950 }
| void osg::Window::ignoreExtensions | ( | const Char8 * | s | ) | [static, inherited] |
Register new OpenGL extensions to ignore. See OpenGL Extensions for details.
Definition at line 977 of file OSGWindow.cpp.
References osg::Window::_allWindows, osg::Window::_ignoredExtensions, osg::Window::_registeredExtensions, FDEBUG, FPDEBUG, osg::Window::staticAcquire(), and osg::Window::staticRelease().
Referenced by osg::Window::frameInit().
00978 { 00979 FDEBUG(("Window:: Ignoring extensions '%s'\n", s)); 00980 00981 staticAcquire(); 00982 00983 std::back_insert_iterator< std::vector<std::string> > 00984 extension_back_inserter(_ignoredExtensions); 00985 00986 std::string toex(s); 00987 00988 for(string_token_iterator ignit = string_token_iterator(toex, ",. "); 00989 ignit != string_token_iterator(); ++ignit) 00990 { 00991 std::string ignore = *ignit; 00992 00993 FDEBUG(("Ignoring '%s':", ignore.c_str())); 00994 00995 if(std::find(_ignoredExtensions.begin(), 00996 _ignoredExtensions.end(), 00997 ignore.c_str()) != _ignoredExtensions.end()) 00998 { 00999 FPDEBUG((" already ignored.\n")); 01000 continue; 01001 } 01002 01003 _ignoredExtensions.push_back(ignore); 01004 01005 std::vector<std::string>::iterator regit; 01006 01007 // if extension is registered, disable it on all existing Windows 01008 01009 regit = std::find(_registeredExtensions.begin(), 01010 _registeredExtensions.end(), 01011 ignore.c_str()); 01012 01013 Int32 ind = -1; 01014 01015 if(regit != _registeredExtensions.end()) 01016 { 01017 ind = regit - _registeredExtensions.begin(); 01018 FPDEBUG(("(reg as %d)", ind)); 01019 } 01020 01021 // Walk all existing windows and remove the ignored extension 01022 // from the _extensions vector. Disable it if it was a registered one. 01023 01024 std::vector<WindowPtr>::iterator winit; 01025 01026 for(winit = _allWindows.begin(); winit != _allWindows.end(); ++winit) 01027 { 01028 FPDEBUG((" %p:", (*winit).getCPtr())); 01029 01030 std::vector<std::string>::iterator extit; 01031 01032 extit = std::find((*winit)->_extensions.begin(), 01033 (*winit)->_extensions.end(), 01034 ignore.c_str()); 01035 01036 if(extit != (*winit)->_extensions.end()) 01037 { 01038 FPDEBUG((" removed")); 01039 (*winit)->_extensions.erase(extit); 01040 } 01041 else 01042 { 01043 FPDEBUG((" nonsupp")); 01044 } 01045 01046 if(ind >= 0) 01047 { 01048 if((*winit)->_availExtensions.size() > UInt32(ind)) 01049 { 01050 (*winit)->_availExtensions[ind] = false; 01051 FPDEBUG((" disabled")); 01052 } 01053 if((*winit)->_commonExtensions.size() > UInt32(ind)) 01054 { 01055 (*winit)->_commonExtensions[ind] = false; 01056 FPDEBUG((" uncommoned")); 01057 } 01058 } 01059 } 01060 FPDEBUG(("\n")); 01061 } 01062 01063 std::sort(_ignoredExtensions.begin(), _ignoredExtensions.end()); 01064 01065 staticRelease(); 01066 }
| UInt32 osg::Window::registerFunction | ( | const Char8 * | s, | |
| Int32 | ext = -1, |
|||
| UInt32 | version = 0xffff | |||
| ) | [static, inherited] |
Register a new OpenGL extension function. See OpenGL Extensions for details. Ignores NULL strings.
Definition at line 1071 of file OSGWindow.cpp.
References osg::Window::_registeredFunctionExts, osg::Window::_registeredFunctions, osg::Window::_registeredFunctionVersions, FDEBUG, FPDEBUG, osg::Window::staticAcquire(), and osg::Window::staticRelease().
Referenced by osg::BlendChunk::BlendChunk(), osg::DVRIsoShader::DVRIsoShader(), osg::DVRMtexLUTShader::DVRMtexLUTShader(), osg::DVRSimpleLUTShader::DVRSimpleLUTShader(), osg::FBOViewport::FBOViewport(), osg::GeoPumpFactory::glextInitFunction(), glextFuncInit::init(), osg::Particles::Particles(), osg::PointChunk::PointChunk(), osg::ProgramChunk::ProgramChunk(), osg::RegisterCombinersChunk::RegisterCombinersChunk(), osg::RenderAction::RenderAction(), osg::SHLChunk::SHLChunk(), osg::Slices::Slices(), and osg::TextureChunk::TextureChunk().
01073 { 01074 if(s == NULL) 01075 return TypeTraits<UInt32>::getMax(); 01076 01077 FDEBUG(("Window::registerFunction: register '%s': ", s)); 01078 01079 staticAcquire(); 01080 01081 std::vector<std::string>::iterator i; 01082 01083 i = std::find(_registeredFunctions.begin(), _registeredFunctions.end(), 01084 s); 01085 01086 if(i < _registeredFunctions.end()) 01087 { 01088 staticRelease(); 01089 FPDEBUG(("reusing id %d\n", i - _registeredFunctions.begin())); 01090 return i - _registeredFunctions.begin(); 01091 } 01092 01093 UInt32 r=_registeredFunctions.size(); 01094 _registeredFunctions.push_back(s); 01095 _registeredFunctionExts.push_back(ext); 01096 _registeredFunctionVersions.push_back(version); 01097 01098 FPDEBUG(("new id %d\n", r)); 01099 01100 staticRelease(); 01101 return r; 01102 }
| void osg::Window::registerConstant | ( | GLenum | val | ) | [static, inherited] |
Register a new OpenGL constant. See OpenGL Extensions for details.
Definition at line 1107 of file OSGWindow.cpp.
References osg::Window::_registeredConstants, osg::Window::staticAcquire(), and osg::Window::staticRelease().
Referenced by osg::TextureChunk::TextureChunk().
01108 { 01109 staticAcquire(); 01110 01111 if(std::find(_registeredConstants.begin(), 01112 _registeredConstants.end(), 01113 val) == _registeredConstants.end()) 01114 { 01115 _registeredConstants.push_back(val); 01116 } 01117 01118 staticRelease(); 01119 }
| void osg::Window::setGLLibraryName | ( | const Char8 * | s | ) | [inline, static, inherited] |
Set the library name where to find OpenGL extension functions. This has to be called before the first extension function is accessed, and it's safe to call it before osgInit().
Definition at line 121 of file OSGWindow.inl.
References osg::Window::_glLibraryName.
00122 { 00123 _glLibraryName = s; 00124 }
| UInt32 osg::Window::getGLVersion | ( | void | ) | [inline, inherited] |
Return the version of OpenGL running in the Window in the form 0x<major><major><minor><minor>, e.g. 0x0201 for version 2.1.
Definition at line 129 of file OSGWindow.inl.
References osg::Window::_glVersion.
Referenced by osg::TextureChunk::activate(), osg::TextureChunk::changeFrom(), osg::TextureChunk::deactivate(), osg::TextureChunk::handleGL(), and osg::TextureChunk::handleTexture().
00130 { 00131 return _glVersion; 00132 }
Find the id of a registered extension. Return -1 if extension not registered.
Definition at line 137 of file OSGWindow.inl.
References osg::Window::_registeredExtensions.
00138 { 00139 std::vector<std::string>::iterator it; 00140 00141 it = std::find(_registeredExtensions.begin(), 00142 _registeredExtensions.end(), 00143 s); 00144 00145 if(it == _registeredExtensions.end()) 00146 return -1; 00147 00148 return Int32(it -_registeredExtensions.begin()); 00149 }
| bool osg::Window::hasExtension | ( | UInt32 | id | ) | [inline, inherited] |
Check if the window has the indicated extension.
Definition at line 64 of file OSGWindow.inl.
References osg::Window::_availExtensions.
Referenced by osg::TextureChunk::activate(), osg::SHLParameterChunk::activate(), osg::RegisterCombinersChunk::activate(), osg::ProgramChunk::activate(), osg::PointChunk::activate(), osg::DVRSimpleLUTShader::activate(), osg::CubeTextureChunk::activate(), osg::BlendChunk::activate(), osg::DVRIsoShader::activate_NVRegisterCombinerShading(), osg::TextureChunk::changeFrom(), osg::SHLParameterChunk::changeFrom(), osg::ProgramChunk::changeFrom(), osg::PointChunk::changeFrom(), osg::CubeTextureChunk::changeFrom(), osg::BlendChunk::changeFrom(), osg::TextureChunk::deactivate(), osg::ProgramChunk::deactivate(), osg::PointChunk::deactivate(), osg::CubeTextureChunk::deactivate(), osg::BlendChunk::deactivate(), osg::GeoVBO::draw(), osg::Slices::drawSlices(), GeoPump128(), GeoPump129(), osg::DVRVolume::getTextureMode(), osg::TextureChunk::handleGL(), osg::SHLChunk::handleGL(), osg::ProgramChunk::handleGL(), osg::Geometry::handleGL(), osg::CubeTextureChunk::handleGL(), osg::TextureChunk::handleTexture(), osg::TextureChunk::handleTextureShader(), osg::TextureChunk::hasMultiTexture(), osg::DVRMtexLUTShader::initCombiners(), osg::DVRMtexLUTShader::initialize(), osg::DVRVolume::initializeClipObjects(), osg::DVRSimpleLUTShader::isModeSupported(), osg::DVRIsoShader::isModeSupported(), osg::FBOViewport::render(), osg::DVRMtexLUTShader::renderSlice(), osg::DVRSimpleLUTShader::setupAlphaCorrectionRegisterCombiners(), osg::RenderAction::start(), osg::SHLChunk::updateProgram(), and osg::SHLChunk::updateProgramParameters().
00065 { 00066 return _availExtensions[id]; 00067 }
| bool osg::Window::hasExtension | ( | const Char8 * | s | ) | [inherited] |
Check if the Window supports the given extension. Should be used for initialisation checks only, for checks done often it's recommended to register the extensions and use hasExtension(UInt32) instead.
Definition at line 956 of file OSGWindow.cpp.
References osg::Window::_extensions, and osg::Window::_ignoredExtensions.
00957 { 00958 if(std::find(_ignoredExtensions.begin(), 00959 _ignoredExtensions.end(), 00960 s) != _ignoredExtensions.end()) 00961 { 00962 return false; 00963 } 00964 00965 if(std::find(_extensions.begin(), 00966 _extensions.end(), 00967 s) != _extensions.end()) 00968 { 00969 return true; 00970 } 00971 00972 return false; 00973 }
| bool osg::Window::hasCommonExtension | ( | UInt32 | id | ) | [inline, static, inherited] |
Check if the window has the indicated extension.
Definition at line 71 of file OSGWindow.inl.
References osg::Window::_commonExtensions.
Referenced by osg::PhongMaterial::createChunkMaterial(), and osg::PhongMaterial::prepareLocalChunks().
00072 { 00073 if(id >= _commonExtensions.size()) 00074 return false; 00075 00076 return _commonExtensions[id]; 00077 }
| void * osg::Window::getFunction | ( | UInt32 | id | ) | [inline, inherited] |
Get the indicated extension function. The id and the returned functions are checked for sanity and a warning is issued if there are problems. Use getFunctionNoCheck if you're sure you don't need them.
Definition at line 84 of file OSGWindow.inl.
References osg::Window::_extFunctions, osg::Window::_registeredFunctions, and FINFO.
Referenced by osg::SHLChunk::activate(), osg::RegisterCombinersChunk::activate(), osg::ProgramChunk::activate(), osg::PointChunk::activate(), osg::DVRSimpleLUTShader::activate(), osg::BlendChunk::activate(), osg::DVRIsoShader::activate_NVRegisterCombinerShading(), osg::TextureChunk::activeTexture(), osg::FBOViewport::bind(), osg::SHLChunk::changeFrom(), osg::ProgramChunk::changeFrom(), osg::PointChunk::changeFrom(), osg::BlendChunk::changeFrom(), osg::FBOViewport::checkFrameBufferStatus(), osg::SHLChunk::deactivate(), osg::ProgramChunk::deactivate(), osg::PointChunk::deactivate(), osg::DVRSimpleLUTShader::deactivate(), osg::BlendChunk::deactivate(), drawShaderStrips< posTrait, secPosTrait, colTrait, texTrait, sizeTrait, normalTrait >::draw(), drawShaderQuads< posTrait, secPosTrait, colTrait, texTrait, sizeTrait, normalTrait >::draw(), osg::GeoVBO::draw(), drawShaderStrips< posTrait, secPosTrait, colTrait, texTrait, sizeTrait, normalTrait >::drawIndexed(), drawShaderQuads< posTrait, secPosTrait, colTrait, texTrait, sizeTrait, normalTrait >::drawIndexed(), osg::Slices::drawSlices(), GeoPump128(), GeoPump129(), osg::SHLChunk::handleGL(), osg::ProgramChunk::handleGL(), osg::TextureChunk::handleTexture(), osg::DVRMtexLUTShader::initCombiners(), osg::DVRIsoShader::initCombiners_Diffuse2Combiners(), osg::DVRIsoShader::initCombiners_DiffuseMultiCombiners(), osg::DVRIsoShader::initCombiners_IsoSurfaceDiffuse(), osg::DVRIsoShader::initCombiners_IsoSurfaceSpecular(), osg::DVRIsoShader::initCombiners_Specular2Combiners(), osg::DVRIsoShader::initCombiners_SpecularMultiCombiners(), osg::FBOViewport::initialize(), osg::FBOViewport::render(), osg::DVRMtexLUTShader::renderSlice(), osg::DVRIsoShader::renderSlice_NVRegisterCombinerShading(), osg::FBOViewport::setTarget(), osg::DVRSimpleLUTShader::setupAlphaCorrectionRegisterCombiners(), osg::DVRIsoShader::setupCombinerParametersDiffuse(), osg::DVRIsoShader::setupCombinerParametersSpecular(), osg::RenderAction::start(), osg::FBOViewport::stop(), osg::GeoVBO::update(), osg::SHLChunk::updateActiveLightsMask(), osg::SHLChunk::updateCameraOrientation(), osg::SHLChunk::updateCameraPosition(), osg::SHLChunk::updateClusterId(), osg::SHLChunk::updateInvViewMatrix(), osg::SHLChunk::updateInvWorldMatrix(), osg::SHLChunk::updateLight0Active(), osg::SHLChunk::updateLight1Active(), osg::SHLChunk::updateLight2Active(), osg::SHLChunk::updateLight3Active(), osg::SHLChunk::updateLight4Active(), osg::SHLChunk::updateLight5Active(), osg::SHLChunk::updateLight6Active(), osg::SHLChunk::updateLight7Active(), osg::SHLChunk::updateOSGParameters(), osg::SHLChunk::updateParameterLocation(), osg::SHLChunk::updateParameterLocations(), osg::SHLChunk::updateParameters(), osg::SHLChunk::updateProgram(), osg::SHLChunk::updateProgramParameters(), osg::SHLChunk::updateStereoLeftEye(), osg::SHLChunk::updateTransInvWorldMatrix(), osg::SHLChunk::updateViewMatrix(), osg::SHLChunk::updateWorldMatrix(), and osg::GeoVBO::~GeoVBO().
00085 { 00086 if(id >= _extFunctions.size()) 00087 { 00088 FINFO(("Window::getFunction: illegal id %d!\n", id)); 00089 return NULL; 00090 } 00091 if(_extFunctions[id] == NULL) 00092 { 00093 FINFO(("Window::getFunction: function \"%s\" is NULL!\n", 00094 _registeredFunctions[id].c_str())); 00095 return NULL; 00096 } 00097 return _extFunctions[id]; 00098 }
| void * osg::Window::getFunctionNoCheck | ( | UInt32 | id | ) | [inline, inherited] |
Get the indicated extension function.
Definition at line 104 of file OSGWindow.inl.
References osg::Window::_extFunctions.
00105 { 00106 return _extFunctions[ id ]; 00107 }
| void osg::Window::dumpExtensions | ( | void | ) | [inherited] |
Dump all the registered extensions to std::cout.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 1128 of file OSGWindow.cpp.
References osg::Window::_extensions.
01129 { 01130 std::vector<std::string>::iterator it; 01131 std::cout << "GL Extensions: "; 01132 for ( it = _extensions.begin(); it != _extensions.end(); it++ ) 01133 { 01134 std::cout << it->c_str() << ", "; 01135 } 01136 std::cout << std::endl; 01137 }
| Real32 osg::Window::getConstantValue | ( | GLenum | id | ) | [inline, inherited] |
Return the value of the registered constant, Inf if not registered or no value received yet.
Definition at line 112 of file OSGWindow.inl.
References osg::Window::getConstantValuev().
Referenced by osg::TextureTransformChunk::activate(), osg::TextureChunk::activate(), osg::TexGenChunk::activate(), osg::CubeTextureChunk::activate(), osg::TextureTransformChunk::changeFrom(), osg::TextureChunk::changeFrom(), osg::TexGenChunk::changeFrom(), osg::CubeTextureChunk::changeFrom(), osg::TextureTransformChunk::deactivate(), osg::TextureChunk::deactivate(), osg::TexGenChunk::deactivate(), and osg::CubeTextureChunk::deactivate().
00113 { 00114 return getConstantValuev(id)[0]; 00115 }
| const Vec2f & osg::Window::getConstantValuev | ( | GLenum | id | ) | [inherited] |
Return the value of the registered constant, (Inf, Inf) if not registered or no value received yet.
Definition at line 1558 of file OSGWindow.cpp.
References osg::Window::_availConstants, and osg::Inf.
Referenced by osg::Window::getConstantValue().
01559 { 01560 static Vec2f inf(Inf, Inf); 01561 01562 ConstHash::iterator it = _availConstants.find(id); 01563 01564 if(it != _availConstants.end()) 01565 return _availConstants[id]; 01566 01567 return inf; 01568 }
| const std::vector< std::string > & osg::Window::getRegisteredExtensions | ( | void | ) | [inline, static, inherited] |
Access the registered extensions.
Definition at line 160 of file OSGWindow.inl.
References osg::Window::_registeredExtensions.
00161 { 00162 return _registeredExtensions; 00163 }
| const std::vector< std::string > & osg::Window::getRegisteredFunctions | ( | void | ) | [inline, inherited] |
Access the registered functions.
Definition at line 167 of file OSGWindow.inl.
References osg::Window::_registeredFunctions.
00168 { 00169 return _registeredFunctions; 00170 }
| const std::vector< std::string > & osg::Window::getExtensions | ( | void | ) | [inline, inherited] |
Access the available extensions.
Definition at line 153 of file OSGWindow.inl.
References osg::Window::_extensions.
00154 { 00155 return _extensions; 00156 }
| const std::vector< std::string > & osg::Window::getIgnoredExtensions | ( | void | ) | [inline, inherited] |
Access the ignored extensions.
Definition at line 174 of file OSGWindow.inl.
References osg::Window::_ignoredExtensions.
00175 { 00176 return _ignoredExtensions; 00177 }
| UInt32 osg::Window::registerGLObject | ( | GLObjectFunctor | functor, | |
| UInt32 | num = 1 | |||
| ) | [static, inherited] |
Register a number of OpenGL objects. By default the number is 1, but more can be necessary for things like text. It returns the first id of the contiguous reserved ID block.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 534 of file OSGWindow.cpp.
References osg::Window::_glObjects, osg::Window::GLObject, osg::Window::initRegisterGLObject(), osg::Window::staticAcquire(), and osg::Window::staticRelease().
Referenced by osg::TextureChunk::changed(), osg::SHLChunk::changed(), osg::Geometry::changed(), osg::VertexProgramChunk::onCreate(), osg::TextureChunk::onCreate(), osg::Surface::onCreate(), osg::SHLChunk::onCreate(), osg::Geometry::onCreate(), osg::FragmentProgramChunk::onCreate(), and osg::CubeTextureChunk::onCreate().
00535 { 00536 UInt32 id, i; 00537 GLObject *pGLObject; 00538 00539 staticAcquire(); 00540 00541 // reserve index 0, illegal for most OpenGL functions 00542 if(_glObjects.empty()) 00543 _glObjects.push_back( NULL ); 00544 00545 id = _glObjects.size(); 00546 pGLObject = new GLObject(functor); 00547 00548 // does the requested block fit into the capacity? 00549 00550 if(_glObjects.capacity() >= id + num) 00551 { 00552 _glObjects.insert(_glObjects.end(), num, pGLObject ); 00553 00554 initRegisterGLObject(id, num); 00555 00556 staticRelease(); 00557 00558 return id; 00559 } 00560 00561 // doesn't fit, try to find a block in the middle 00562 00563 UInt32 cnt = 0; 00564 00565 // start searching at 1, id 0 is reserved for GL 00566 for(i = 1; i < _glObjects.size(); ++i) 00567 { 00568 if(_glObjects[i] == NULL) 00569 { 00570 if(cnt == 0) 00571 { 00572 id = i; 00573 } 00574 00575 ++cnt; 00576 00577 if(cnt == num) 00578 { 00579 // block of unused entries found ... 00580 00581 while(i >= id) 00582 { 00583 _glObjects[i] = pGLObject; 00584 i = i - 1; 00585 } 00586 00587 initRegisterGLObject(id, num); 00588 00589 staticRelease(); 00590 00591 return id; 00592 } 00593 } 00594 else 00595 { 00596 cnt = 0; 00597 id = 0; 00598 } 00599 } 00600 00601 // no block found, add at the end 00602 00603 if(id > 0) // ok the last entries in the vector were empty 00604 { 00605 // fill the empty slots at the end 00606 i = id + cnt - 1; 00607 while ( i >= id ) 00608 { 00609 _glObjects[i] = pGLObject; 00610 i = i - 1; 00611 } 00612 } 00613 else 00614 { 00615 // we found no empty entries so the new id is the size of the vector. 00616 id = _glObjects.size(); 00617 } 00618 00619 // expand the vector for the rest 00620 for ( i = 1; i <= num - cnt; i++ ) 00621 { 00622 _glObjects.push_back( pGLObject ); 00623 } 00624 00625 initRegisterGLObject(id, num); 00626 00627 staticRelease(); 00628 00629 return id; 00630 }
| void osg::Window::validateGLObject | ( | UInt32 | id | ) | [inherited] |
Validate the given object, i.e. make sure it is up-to-date in the current context.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 638 of file OSGWindow.cpp.
References osg::Window::_glObjects, osg::Window::_lastValidate, osg::WindowBase::_mfGlObjectLastRefresh, osg::WindowBase::_mfGlObjectLastReinitialize, osg::TypedVoidFunctor2Base< CallArgT, ArgsT, SizeTraitsT >::call(), FDEBUG, osg::Window::GLObject::getFunctor(), osg::WindowBase::getGlObjectEventCounter(), osg::Window::GLObject::incRefCounter(), osg::Window::initialize, osg::Window::needrefresh, osg::Window::packIdStatus(), osg::Window::reinitialize, osg::MField< FieldTypeT, fieldNameSpace >::size(), and SWARNING.
Referenced by osg::TextureChunk::activate(), osg::SHLChunk::activate(), osg::ProgramChunk::activate(), osg::CubeTextureChunk::activate(), osg::TextureChunk::changeFrom(), osg::SHLChunk::changeFrom(), osg::ProgramChunk::changeFrom(), osg::CubeTextureChunk::changeFrom(), osg::TextureGrabBackground::clear(), osg::TextureGrabForeground::draw(), osg::Surface::drawPrimitives(), osg::Geometry::drawPrimitives(), osg::Geometry::drawVBO(), osg::FBOViewport::render(), osg::SHLChunk::update(), and osg::Window::validateAllGLObjects().
00639 { 00640 if ( id == 0 ) 00641 { 00642 SWARNING << "Window::validateGLObject: id is 0!" << std::endl; 00643 return; 00644 } 00645 00646 GLObject *obj = _glObjects[id]; 00647 00648 if(obj == NULL) 00649 { 00650 SWARNING << "Window::validateGLObject: obj with id " << id << " is NULL!" << std::endl; 00651 return; 00652 } 00653 00654 if(id >= _lastValidate.size()) // can happen if multi-threading 00655 { 00656 _lastValidate.insert(_lastValidate.end(), 00657 id + 1 - _lastValidate.size(), 00658 0); 00659 } 00660 00661 FDEBUG(("Window 0x%p (event %d,ri:%d,rf:%d): " 00662 "Validating object %d: last reinit:%d, last validate:" 00663 "%d last refresh: %d => %s\n", 00664 this, getGlObjectEventCounter(), 00665 _mfGlObjectLastReinitialize.size(), 00666 _mfGlObjectLastRefresh.size(), 00667 id, 00668 (_mfGlObjectLastReinitialize.size() > id)? 00669 _mfGlObjectLastReinitialize[id]:0xffffffff, 00670 _lastValidate[id], 00671 (_mfGlObjectLastRefresh.size() > id)? 00672 _mfGlObjectLastRefresh[id]:0xffffffff, 00673 (_mfGlObjectLastReinitialize[id] == 0)?"init": 00674 ((_mfGlObjectLastReinitialize[id] > _lastValidate[id])?"reinit": 00675 ((_mfGlObjectLastRefresh[id] > _lastValidate[id])?"refresh": 00676 "up-to-date")) 00677 )); 00678 00679 if(_mfGlObjectLastReinitialize[id] == 0) 00680 { 00681 obj->incRefCounter(); 00682 obj->getFunctor().call(this, packIdStatus(id, initialize)); 00683 _mfGlObjectLastReinitialize[id] = 1; 00684 _lastValidate[id] = getGlObjectEventCounter(); 00685 } 00686 else if(_mfGlObjectLastReinitialize[id] > _lastValidate[id]) 00687 { 00688 obj->getFunctor().call(this, packIdStatus(id, reinitialize)); 00689 _lastValidate[id] = getGlObjectEventCounter(); 00690 } 00691 else if(_mfGlObjectLastRefresh[id] > _lastValidate[id]) 00692 { 00693 obj->getFunctor().call(this, packIdStatus(id, needrefresh)); 00694 _lastValidate[id] = getGlObjectEventCounter(); 00695 } 00696 }
| void osg::Window::validateAllGLObjects | ( | void | ) | [inherited] |
Validate all existing GL objects. Use with care, and only if the correct OpenGL context is active.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 705 of file OSGWindow.cpp.
References osg::Window::_glObjects, osg::Window::activate(), osg::Window::frameExit(), osg::Window::frameInit(), and osg::Window::validateGLObject().
00706 { 00707 activate(); 00708 frameInit(); 00709 00710 for (UInt32 i = 1; i < _glObjects.size(); ++i) 00711 validateGLObject(i); 00712 00713 frameExit(); 00714 }
Validate the given object, i.e. make sure it is up-to-date in the current context.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 179 of file OSGWindow.inl.
References osg::Window::_glObjects, osg::Window::_ids, and SWARNING.
Referenced by osg::Geometry::createVBO(), osg::Geometry::destroyVBO(), osg::TextureChunk::handleGL(), osg::SHLChunk::handleGL(), osg::ProgramChunk::handleGL(), osg::Geometry::handleGL(), osg::CubeTextureChunk::handleGL(), and osg::SHLChunk::updateProgram().
00180 { 00181 if(osgId < _ids.size()) 00182 { 00183 _ids[osgId] = id2; 00184 } 00185 else 00186 { 00187 _ids.resize(_glObjects.size()); 00188 if(osgId < _ids.size()) 00189 _ids[osgId] = id2; 00190 else 00191 SWARNING << "Window::setGLObjectId: id (" << osgId << ") is not valid!" << std::endl; 00192 } 00193 }
Validate the given object, i.e. make sure it is up-to-date in the current context.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 195 of file OSGWindow.inl.
References osg::Window::_ids.
Referenced by osg::TextureChunk::activate(), osg::SHLChunk::activate(), osg::ProgramChunk::activate(), osg::CubeTextureChunk::activate(), osg::TextureChunk::changeFrom(), osg::SHLChunk::changeFrom(), osg::ProgramChunk::changeFrom(), osg::CubeTextureChunk::changeFrom(), osg::TextureGrabBackground::clear(), osg::SHLChunk::deactivate(), osg::ProgramChunk::deactivate(), osg::Geometry::destroyVBO(), osg::TextureGrabForeground::draw(), osg::Geometry::drawPrimitives(), osg::Geometry::drawVBO(), osg::TextureChunk::handleGL(), osg::SHLChunk::handleGL(), osg::ProgramChunk::handleGL(), osg::Geometry::handleGL(), osg::CubeTextureChunk::handleGL(), osg::FBOViewport::render(), osg::SHLChunk::update(), osg::SHLChunk::updateParameterLocations(), osg::SHLChunk::updateParameters(), osg::SHLChunk::updateProgram(), osg::SHLChunk::updateProgramParameters(), and osg::Geometry::updateVBO().
00196 { 00197 if(osgId < _ids.size()) 00198 return _ids[osgId]; 00199 00200 //SWARNING << "Window::getGLObjectId: id (" << osgId << ") is not valid!" << std::endl; 00201 return 0; 00202 }
| UInt32 osg::Window::getGLObjectsSize | ( | void | ) | [inline, static, inherited] |
Validate the given object, i.e. make sure it is up-to-date in the current context.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 204 of file OSGWindow.inl.
References osg::Window::_glObjects.
00205 { 00206 return _glObjects.size(); 00207 }
| void osg::Window::refreshGLObject | ( | UInt32 | id | ) | [static, inherited] |
Mark the given object for refresh. The next time it is validated the registered callback function will be called for a refresh action.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 722 of file OSGWindow.cpp.
References osg::Window::_allWindows, osg::beginEditCP(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::endEditCP(), osg::MField< FieldTypeT, fieldNameSpace >::getValues(), osg::WindowBase::GlObjectEventCounterFieldMask, osg::WindowBase::GlObjectLastRefreshFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::size(), and SWARNING.
Referenced by osg::TextureChunk::changed(), osg::Surface::changed(), osg::SHLChunk::changed(), osg::ProgramChunk::changed(), osg::Geometry::changed(), osg::Geometry::invalidateDlistCache(), osg::Window::refreshAllGLObjects(), and osg::BrickSet::reloadBrickTextures().
00723 { 00724 if ( id == 0 ) 00725 { 00726 SWARNING << "Window::refreshGLObject: id is 0!" << std::endl; 00727 return; 00728 } 00729 00730 std::vector<WindowPtr>::iterator it; 00731 00732 for ( it = _allWindows.begin(); it != _allWindows.end(); ++it) 00733 { 00734 beginEditCP(*it, GlObjectEventCounterFieldMask| 00735 GlObjectLastRefreshFieldMask); 00736 00737 UInt32 lastinv = (*it)->getGlObjectEventCounter() + 1; 00738 MFUInt32 &field = (*it)->_mfGlObjectLastRefresh; 00739 if(field.size() <= id) 00740 field.getValues().insert(field.end(), id - field.size() + 1, 0 ); 00741 field[id] = lastinv; 00742 (*it)->setGlObjectEventCounter(lastinv); 00743 00744 endEditCP (*it, GlObjectEventCounterFieldMask| 00745 GlObjectLastRefreshFieldMask); 00746 } 00747 }
| void osg::Window::refreshAllGLObjects | ( | void | ) | [static, inherited] |
Refresh all existing GL objects.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 754 of file OSGWindow.cpp.
References osg::Window::_glObjects, and osg::Window::refreshGLObject().
00755 { 00756 for (UInt32 i = 1; i < _glObjects.size(); ++i) 00757 refreshGLObject(i); 00758 }
| void osg::Window::reinitializeGLObject | ( | UInt32 | id | ) | [static, inherited] |
Mark the given object for reinitialisation. The next time it is validated the registered callback function will be called for a reinit action.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 766 of file OSGWindow.cpp.
References osg::Window::_allWindows, osg::beginEditCP(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::endEditCP(), osg::MField< FieldTypeT, fieldNameSpace >::getValues(), osg::WindowBase::GlObjectEventCounterFieldMask, osg::WindowBase::GlObjectLastReinitializeFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::size(), and SWARNING.
Referenced by osg::TextureChunk::changed(), osg::SHLChunk::changed(), osg::ProgramChunk::changed(), and osg::Window::reinitializeAllGLObjects().
00767 { 00768 if ( id == 0 ) 00769 { 00770 SWARNING << "Window::reinitializeGLObject: id is 0!" << std::endl; 00771 return; 00772 } 00773 00774 std::vector<WindowPtr>::iterator it; 00775 00776 for(it = _allWindows.begin(); it != _allWindows.end(); ++it) 00777 { 00778 beginEditCP(*it, GlObjectEventCounterFieldMask| 00779 GlObjectLastReinitializeFieldMask); 00780 00781 UInt32 lastinv = (*it)->getGlObjectEventCounter() + 1; 00782 00783 MFUInt32 &field = (*it)->_mfGlObjectLastReinitialize; 00784 if(field.size() <= id) 00785 field.getValues().insert(field.end(), id - field.size() + 1, 0 ); 00786 // is it already validated? 00787 if(field[id] == 0) 00788 continue; 00789 field[id] = lastinv; 00790 (*it)->setGlObjectEventCounter(lastinv); 00791 00792 endEditCP (*it, GlObjectEventCounterFieldMask| 00793 GlObjectLastReinitializeFieldMask); 00794 } 00795 }
| void osg::Window::reinitializeAllGLObjects | ( | void | ) | [static, inherited] |
Reinitialize all existing GL objects.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 802 of file OSGWindow.cpp.
References osg::Window::_glObjects, and osg::Window::reinitializeGLObject().
00803 { 00804 for (UInt32 i = 1; i < _glObjects.size(); ++i) 00805 reinitializeGLObject(i); 00806 }
Mark the given objects for destruction. The actual destruction will happen later.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 869 of file OSGWindow.cpp.
References osg::Window::_allWindows, osg::Window::_glObjects, and FWARNING.
Referenced by osg::Geometry::changed(), osg::TextureChunk::onDestroy(), osg::Surface::onDestroy(), osg::SHLChunk::onDestroy(), osg::Geometry::onDestroy(), and osg::ProgramChunk::~ProgramChunk().
00870 { 00871 #ifdef OSG_DEBUG 00872 if(id >= _glObjects.size() || _glObjects[id] == NULL) 00873 { 00874 FWARNING(("Window::destroyGLObject: object %d is NULL!\n", id)); 00875 return; 00876 } 00877 #endif 00878 00879 // Has this object ever been used? 00880 if(_glObjects[id] && _glObjects[id]->getRefCounter() == 0) 00881 { 00882 if(_glObjects[id]) 00883 delete _glObjects[ id ]; 00884 00885 for ( UInt32 j = 0; j < num ; j++) 00886 { 00887 _glObjects[id+j] = NULL; 00888 } 00889 00890 return; 00891 } 00892 00893 std::vector<WindowPtr>::iterator it; 00894 00895 for(it = _allWindows.begin(); it != _allWindows.end(); ++it) 00896 { 00897 #ifdef OSG_DEBUG 00898 if(id + num > (*it)->_mfGlObjectLastReinitialize.size()) 00899 { 00900 FWARNING(("Window::destroyGLObject: id %d + num %d exceed" 00901 "registered objects size %d!\n", id, num, 00902 (*it)->_mfGlObjectLastReinitialize.size())); 00903 return; 00904 } 00905 #endif 00906 00907 // has the object been used in this context at all? 00908 if((*it)->getGlObjectLastReinitialize()[id] != 0) 00909 (*it)->_glObjectDestroyList.push_back(DestroyEntry(id,num)); 00910 } 00911 }
| void osg::Window::unpackIdStatus | ( | UInt32 | idstatus, | |
| UInt32 & | osgId, | |||
| GLObjectStatusE & | status | |||
| ) | [inline, static, inherited] |
Unpack the id and the status from one UInt32 packed by packIdStatus
Definition at line 226 of file OSGWindow.inl.
References osg::Window::statusMask, and osg::Window::statusShift.
Referenced by osg::TextureChunk::handleGL(), osg::Surface::handleGL(), osg::SHLChunk::handleGL(), osg::ProgramChunk::handleGL(), osg::Geometry::handleGL(), osg::CubeTextureChunk::handleGL(), and osg::ProgramChunk::printCompileError().
00228 { 00229 osgId = idstatus >> statusShift; 00230 status = static_cast<GLObjectStatusE>(idstatus & statusMask); 00231 }
| bool osg::Window::isResizePending | ( | void | ) | [inline, inherited] |
Definition at line 56 of file OSGWindow.inl.
References osg::WindowBase::_sfResizePending, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::Window::resizeGL().
00057 { 00058 return _sfResizePending.getValue(); 00059 }
| void osg::Window::resize | ( | int | width, | |
| int | height | |||
| ) | [virtual, inherited] |
Resize notifier function.
As OpenSG does not do Window System event management it needs to be notified whenever the size of a Window changes.
Definition at line 1695 of file OSGWindow.cpp.
References osg::beginEditCP(), osg::endEditCP(), osg::WindowBase::HeightFieldMask, osg::WindowBase::ResizePendingFieldMask, osg::WindowBase::setHeight(), osg::WindowBase::setResizePending(), osg::WindowBase::setWidth(), and osg::WindowBase::WidthFieldMask.
01696 { 01697 WindowPtr win(*this); 01698 beginEditCP(win, WidthFieldMask|HeightFieldMask|ResizePendingFieldMask); 01699 setWidth( width ); 01700 setHeight( height ); 01701 setResizePending( true ); 01702 endEditCP (win, WidthFieldMask|HeightFieldMask|ResizePendingFieldMask); 01703 }
| void osg::Window::resizeGL | ( | void | ) | [virtual, inherited] |
Resize function.
This function needs to be called before a Window's Viewports are rendered, to ensure that eventual pending resizes are handled correctly.
Definition at line 1711 of file OSGWindow.cpp.
References osg::beginEditCP(), osg::endEditCP(), osg::WindowBase::getHeight(), osg::WindowBase::getWidth(), osg::Window::isResizePending(), osg::WindowBase::ResizePendingFieldMask, and osg::WindowBase::setResizePending().
Referenced by osg::Window::draw(), osg::FBOViewport::render(), and osg::RenderAction::start().
01712 { 01713 if ( isResizePending () ) 01714 { 01715 glViewport( 0, 0, getWidth(), getHeight() ); 01716 WindowPtr win(*this); 01717 beginEditCP(win, ResizePendingFieldMask); 01718 setResizePending( false ); 01719 endEditCP (win, ResizePendingFieldMask); 01720 } 01721 }
Set the width and height of the Window. Only use if you really know what you're doing. In most cases resize() is a better choice.
Definition at line 50 of file OSGWindow.inl.
References osg::WindowBase::setHeight(), and osg::WindowBase::setWidth().
Referenced by osg::SortFirstWindow::clientPreSync().
| void osg::Window::draw | ( | DrawAction * | action = NULL |
) | [virtual, inherited] |
Draw the Window using the given DrawAction.
It takes care of all initialisation and cleanup functions and contains just 6 lines of code. If you know that the correct context is active or you want to delay swaps you can just copy and manipulate it.
Definition at line 1603 of file OSGWindow.cpp.
References osg::Window::activate(), osg::Window::drawAllViewports(), osg::Window::frameExit(), osg::Window::frameInit(), osg::Window::resizeGL(), and osg::Window::swap().
01604 { 01605 activate(); 01606 frameInit(); // query recently registered GL extensions 01607 01608 resizeGL(); 01609 01610 drawAllViewports(action); 01611 01612 swap(); 01613 frameExit(); // after frame cleanup: delete GL objects, if needed 01614 }
| void osg::Window::drawAllViewports | ( | DrawAction * | action = NULL |
) | [virtual, inherited] |
Draw all the Viewports of the Window using the given DrawAction.
A simple convenience function that loops all Viewports and call their draw method.
Definition at line 1621 of file OSGWindow.cpp.
References osg::WindowBase::_mfPort, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::DrawActionBase::setWindow(), and SWARNING.
Referenced by osg::Window::draw().
01622 { 01623 MFViewportPtr::iterator portIt = _mfPort.begin(); 01624 MFViewportPtr::const_iterator portEnd = _mfPort.end(); 01625 01626 if(action != NULL) 01627 { 01628 action->setWindow(this); 01629 01630 while(portIt != portEnd) 01631 { 01632 (*portIt)->draw(action); 01633 01634 ++portIt; 01635 } 01636 } 01637 else 01638 { 01639 SWARNING << "Window::drawAllViewports: no action!" << std::endl; 01640 } 01641 }
| void osg::Window::setupGL | ( | void | ) | [protected, virtual, inherited] |
Initialize the OpenGL state OpenSG expects. This should be called once whenever a new Window is opened.
Don't call it directly, call the Window System-specific init() method instead.
Definition at line 1577 of file OSGWindow.cpp.
References osg::Window::frameInit().
Referenced by osg::XWindow::init(), osg::QTWindow::init(), and osg::PassiveWindow::init().
01578 { 01579 glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); 01580 glPixelStorei( GL_PACK_ALIGNMENT, 1 ); 01581 01582 glDepthFunc( GL_LEQUAL ); 01583 glEnable( GL_DEPTH_TEST ); 01584 01585 glEnable( GL_NORMALIZE ); 01586 01587 // switch off default light 01588 GLfloat nul[4]={0,0,0,0}; 01589 glLightfv(GL_LIGHT0, GL_DIFFUSE, nul); 01590 glLightfv(GL_LIGHT0, GL_SPECULAR, nul); 01591 01592 frameInit(); // call it to setup extensions 01593 }
Initialize the GL object registration for the given objects in all Windows.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 814 of file OSGWindow.cpp.
References osg::Window::_allWindows, and SWARNING.
Referenced by osg::Window::registerGLObject().
00815 { 00816 if ( id == 0 ) 00817 { 00818 SWARNING << "Window::initRegisterGLObject: id is 0!" << std::endl; 00819 return; 00820 } 00821 00822 std::vector<WindowPtr>::iterator it; 00823 00824 for(it = _allWindows.begin(); it != _allWindows.end(); ++it) 00825 { 00826 (*it)->doInitRegisterGLObject(id, num); 00827 } 00828 }
| UInt32 osg::Window::packIdStatus | ( | UInt32 | osgId, | |
| GLObjectStatusE | status | |||
| ) | [inline, static, protected, inherited] |
Pack the id and the status into one UInt32. Used to pass the id and status to the actual implementation functions.
Dev:
This packing is not really necessary and just done because I didn't want to change all the prototypes and implementations everywhere. Do it for 1.3.
Definition at line 219 of file OSGWindow.inl.
References osg::Window::statusShift.
Referenced by osg::Window::frameExit(), and osg::Window::validateGLObject().
00220 { 00221 return (osgId << statusShift) | status; 00222 }
Initialize the GL object registration for the given objects in the given Window.
See OpenGL Objects & Extension Handling for a description of the OpenGL object concept.
Definition at line 836 of file OSGWindow.cpp.
References osg::Window::_lastValidate, osg::WindowBase::_mfGlObjectLastRefresh, osg::WindowBase::_mfGlObjectLastReinitialize, osg::beginEditCP(), osg::endEditCP(), osg::WindowBase::GlObjectLastRefreshFieldMask, osg::WindowBase::GlObjectLastReinitializeFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::resize(), and osg::MField< FieldTypeT, fieldNameSpace >::size().
Referenced by osg::Window::operator=(), and osg::Window::Window().
00837 { 00838 WindowPtr win(this); 00839 00840 beginEditCP(win, GlObjectLastReinitializeFieldMask| 00841 GlObjectLastRefreshFieldMask); 00842 00843 if(_mfGlObjectLastReinitialize.size() < id + num) 00844 _mfGlObjectLastReinitialize.resize(id + num); 00845 00846 if(_mfGlObjectLastRefresh.size() < id + num) 00847 _mfGlObjectLastRefresh.resize(id + num); 00848 00849 if(_lastValidate.size() < id + num) 00850 _lastValidate.resize(id + num); 00851 00852 for(UInt32 i = id; i < id + num; ++i) 00853 { 00854 _mfGlObjectLastReinitialize[i] = 0; 00855 _mfGlObjectLastRefresh [i] = 0; 00856 _lastValidate[i] = 0; 00857 } 00858 00859 endEditCP (win, GlObjectLastReinitializeFieldMask| 00860 GlObjectLastRefreshFieldMask); 00861 }
| void osg::FieldContainer::onCreate | ( | const FieldContainer * | source = NULL |
) | [inline, protected, inherited] |
Definition at line 318 of file OSGFieldContainerImpl.inl.
Referenced by osg::ShaderParameterChunk::onCreate().
| void osg::FieldContainer::onCreateAspect | ( | const FieldContainer * | aspect0, | |
| const FieldContainer * | source = NULL | |||
| ) | [inline, protected, inherited] |
| SFUInt16 * osg::WindowBase::getSFWidth | ( | void | ) | [inline, inherited] |
Definition at line 75 of file OSGWindowBase.inl.
References osg::WindowBase::_sfWidth.
00076 { 00077 return &_sfWidth; 00078 }
| SFUInt16 * osg::WindowBase::getSFHeight | ( | void | ) | [inline, inherited] |
Definition at line 82 of file OSGWindowBase.inl.
References osg::WindowBase::_sfHeight.
00083 { 00084 return &_sfHeight; 00085 }
| MFViewportPtr * osg::WindowBase::getMFPort | ( | void | ) | [inline, inherited] |
Definition at line 89 of file OSGWindowBase.inl.
References osg::WindowBase::_mfPort.
00090 { 00091 return &_mfPort; 00092 }
| SFBool * osg::WindowBase::getSFResizePending | ( | void | ) | [inline, inherited] |
Definition at line 96 of file OSGWindowBase.inl.
References osg::WindowBase::_sfResizePending.
00097 { 00098 return &_sfResizePending; 00099 }
| UInt16 & osg::WindowBase::getWidth | ( | void | ) | [inline, inherited] |
Definition at line 125 of file OSGWindowBase.inl.
References osg::WindowBase::_sfWidth, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::SortFirstWindow::clientPreSync(), osg::Window::resizeGL(), and osg::MultiDisplayWindow::serverRender().
00126 { 00127 return _sfWidth.getValue(); 00128 }
| const UInt16 & osg::WindowBase::getWidth | ( | void | ) | const [inline, inherited] |
Definition at line 132 of file OSGWindowBase.inl.
References osg::WindowBase::_sfWidth, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00133 { 00134 return _sfWidth.getValue(); 00135 }
| UInt16 & osg::WindowBase::getHeight | ( | void | ) | [inline, inherited] |
Definition at line 146 of file OSGWindowBase.inl.
References osg::WindowBase::_sfHeight, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::SortFirstWindow::clientPreSync(), osg::Window::resizeGL(), and osg::MultiDisplayWindow::serverRender().
00147 { 00148 return _sfHeight.getValue(); 00149 }
| const UInt16 & osg::WindowBase::getHeight | ( | void | ) | const [inline, inherited] |
Definition at line 153 of file OSGWindowBase.inl.
References osg::WindowBase::_sfHeight, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00154 { 00155 return _sfHeight.getValue(); 00156 }
| bool & osg::WindowBase::getResizePending | ( | void | ) | [inline, inherited] |
Definition at line 167 of file OSGWindowBase.inl.
References osg::WindowBase::_sfResizePending, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00168 { 00169 return _sfResizePending.getValue(); 00170 }
| const bool & osg::WindowBase::getResizePending | ( | void | ) | const [inline, inherited] |
Definition at line 174 of file OSGWindowBase.inl.
References osg::WindowBase::_sfResizePending, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00175 { 00176 return _sfResizePending.getValue(); 00177 }
| ViewportPtr & osg::WindowBase::getPort | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 210 of file OSGWindowBase.inl.
References osg::WindowBase::_mfPort.
Referenced by osg::FBOViewport::render().
00211 { 00212 return _mfPort[index]; 00213 }
| MFViewportPtr & osg::WindowBase::getPort | ( | void | ) | [inline, inherited] |
Definition at line 217 of file OSGWindowBase.inl.
References osg::WindowBase::_mfPort.
Referenced by osg::MultiDisplayWindow::clientInit(), osg::SortFirstWindow::clientPreSync(), osg::SortFirstWindow::clientSwap(), osg::SortFirstWindow::serverRender(), and osg::MultiDisplayWindow::serverRender().
00218 { 00219 return _mfPort; 00220 }
| const MFViewportPtr & osg::WindowBase::getPort | ( | void | ) | const [inline, inherited] |
Definition at line 224 of file OSGWindowBase.inl.
References osg::WindowBase::_mfPort.
00225 { 00226 return _mfPort; 00227 }
| void osg::WindowBase::setWidth | ( | const UInt16 & | value | ) | [inline, inherited] |
Definition at line 139 of file OSGWindowBase.inl.
References osg::WindowBase::_sfWidth, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by osg::Window::operator=(), osg::Window::resize(), osg::MultiDisplayWindow::serverRender(), and osg::Window::setSize().
| void osg::WindowBase::setHeight | ( | const UInt16 & | value | ) | [inline, inherited] |
Definition at line 160 of file OSGWindowBase.inl.
References osg::WindowBase::_sfHeight, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by osg::Window::operator=(), osg::Window::resize(), osg::MultiDisplayWindow::serverRender(), and osg::Window::setSize().
| void osg::WindowBase::setResizePending | ( | const bool & | value | ) | [inline, inherited] |
Definition at line 181 of file OSGWindowBase.inl.
References osg::WindowBase::_sfResizePending, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by osg::Window::resize(), and osg::Window::resizeGL().
00182 { 00183 _sfResizePending.setValue(value); 00184 }
| SFUInt32 * osg::WindowBase::getSFGlObjectEventCounter | ( | void | ) | [inline, protected, inherited] |
Definition at line 103 of file OSGWindowBase.inl.
References osg::WindowBase::_sfGlObjectEventCounter.
00104 { 00105 return &_sfGlObjectEventCounter; 00106 }
| MFUInt32 * osg::WindowBase::getMFGlObjectLastRefresh | ( | void | ) | [inline, protected, inherited] |
Definition at line 110 of file OSGWindowBase.inl.
References osg::WindowBase::_mfGlObjectLastRefresh.
00111 { 00112 return &_mfGlObjectLastRefresh; 00113 }
| MFUInt32 * osg::WindowBase::getMFGlObjectLastReinitialize | ( | void | ) | [inline, protected, inherited] |
Definition at line 117 of file OSGWindowBase.inl.
References osg::WindowBase::_mfGlObjectLastReinitialize.
00118 { 00119 return &_mfGlObjectLastReinitialize; 00120 }
| UInt32 & osg::WindowBase::getGlObjectEventCounter | ( | void | ) | [inline, protected, inherited] |
Definition at line 188 of file OSGWindowBase.inl.
References osg::WindowBase::_sfGlObjectEventCounter, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::Window::validateGLObject().
00189 { 00190 return _sfGlObjectEventCounter.getValue(); 00191 }
| const UInt32 & osg::WindowBase::getGlObjectEventCounter | ( | void | ) | const [inline, protected, inherited] |
Definition at line 195 of file OSGWindowBase.inl.
References osg::WindowBase::_sfGlObjectEventCounter, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00196 { 00197 return _sfGlObjectEventCounter.getValue(); 00198 }
Definition at line 231 of file OSGWindowBase.inl.
References osg::WindowBase::_mfGlObjectLastRefresh.
00232 { 00233 return _mfGlObjectLastRefresh[index]; 00234 }
| MFUInt32 & osg::WindowBase::getGlObjectLastRefresh | ( | void | ) | [inline, protected, inherited] |
Definition at line 238 of file OSGWindowBase.inl.
References osg::WindowBase::_mfGlObjectLastRefresh.
00239 { 00240 return _mfGlObjectLastRefresh; 00241 }
| const MFUInt32 & osg::WindowBase::getGlObjectLastRefresh | ( | void | ) | const [inline, protected, inherited] |
Definition at line 245 of file OSGWindowBase.inl.
References osg::WindowBase::_mfGlObjectLastRefresh.
00246 { 00247 return _mfGlObjectLastRefresh; 00248 }
| UInt32 & osg::WindowBase::getGlObjectLastReinitialize | ( | UInt32 | index | ) | [inline, protected, inherited] |
Definition at line 252 of file OSGWindowBase.inl.
References osg::WindowBase::_mfGlObjectLastReinitialize.
00253 { 00254 return _mfGlObjectLastReinitialize[index]; 00255 }
| MFUInt32 & osg::WindowBase::getGlObjectLastReinitialize | ( | void | ) | [inline, protected, inherited] |
Definition at line 259 of file OSGWindowBase.inl.
References osg::WindowBase::_mfGlObjectLastReinitialize.
Referenced by osg::Window::frameExit(), and osg::Window::onDestroy().
00260 { 00261 return _mfGlObjectLastReinitialize; 00262 }
| const MFUInt32 & osg::WindowBase::getGlObjectLastReinitialize | ( | void | ) | const [inline, protected, inherited] |
Definition at line 266 of file OSGWindowBase.inl.
References osg::WindowBase::_mfGlObjectLastReinitialize.
00267 { 00268 return _mfGlObjectLastReinitialize; 00269 }
| void osg::WindowBase::setGlObjectEventCounter | ( | const UInt32 & | value | ) | [inline, protected, inherited] |
Definition at line 202 of file OSGWindowBase.inl.
References osg::WindowBase::_sfGlObjectEventCounter, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00203 { 00204 _sfGlObjectEventCounter.setValue(value); 00205 }
| void AttachmentContainer::addAttachment | ( | const AttachmentPtr & | fieldContainerP, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 84 of file OSGAttachmentContainer.cpp.
References osg::addRefCP(), osg::beginEditCP(), osg::endEditCP(), osg::NullFC, and osg::subRefCP().
Referenced by osg::AttachmentContainer::AttachmentContainer(), osg::Node::onCreate(), and osg::Image::setAttachmentField().
00086 { 00087 UInt32 key; 00088 00089 if(fieldContainerP == NullFC) 00090 return; 00091 00092 key = (UInt32 (fieldContainerP->getGroupId()) << 16) | binding; 00093 00094 addRefCP(fieldContainerP); 00095 00096 beginEditCP(fieldContainerP, Attachment::ParentsFieldMask); 00097 { 00098 fieldContainerP->addParent(getPtr()); 00099 } 00100 endEditCP (fieldContainerP, Attachment::ParentsFieldMask); 00101 00102 AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key); 00103 00104 if(fcI != _attachmentMap.getValue().end()) 00105 { 00106 beginEditCP((*fcI).second, Attachment::ParentsFieldMask); 00107 { 00108 (*fcI).second->subParent(getPtr()); 00109 } 00110 endEditCP ((*fcI).second, Attachment::ParentsFieldMask); 00111 00112 subRefCP((*fcI).second); 00113 00114 (*fcI).second = fieldContainerP; 00115 } 00116 else 00117 { 00118 _attachmentMap.getValue()[key] = fieldContainerP; 00119 } 00120 }
| void AttachmentContainer::subAttachment | ( | const AttachmentPtr & | fieldContainerP, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 122 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::beginEditCP(), osg::endEditCP(), osg::AttachmentContainer::getPtr(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::NullFC, osg::Attachment::ParentsFieldMask, and osg::subRefCP().
00124 { 00125 UInt32 key; 00126 00127 AttachmentMap::iterator fcI; 00128 00129 if(fieldContainerP == NullFC) 00130 return; 00131 00132 key = (UInt32(fieldContainerP->getGroupId()) << 16) | binding; 00133 00134 fcI = _attachmentMap.getValue().find(key); 00135 00136 if(fcI != _attachmentMap.getValue().end()) 00137 { 00138 beginEditCP(fieldContainerP, Attachment::ParentsFieldMask); 00139 { 00140 (*fcI).second->subParent(getPtr()); 00141 } 00142 endEditCP (fieldContainerP, Attachment::ParentsFieldMask); 00143 00144 subRefCP((*fcI).second); 00145 00146 _attachmentMap.getValue().erase(fcI); 00147 } 00148 }
| AttachmentPtr AttachmentContainer::findAttachment | ( | UInt32 | groupId, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 150 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::SField< FieldTypeT, fieldNameSpace >::getValue(), and osg::NullFC.
Referenced by osg::Image::findAttachmentField(), and osg::Image::setAttachmentField().
00152 { 00153 UInt32 key = (UInt32(groupId) << 16) | binding; 00154 00155 AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key); 00156 00157 if(fcI == _attachmentMap.getValue().end()) 00158 { 00159 return NullFC; 00160 } 00161 else 00162 { 00163 return (*fcI).second; 00164 } 00165 }
| AttachmentPtr osg::AttachmentContainer::findAttachment | ( | const FieldContainerType & | type, | |
| UInt16 | binding = 0 | |||
| ) | [inline, inherited] |
Definition at line 57 of file OSGAttachmentContainerImpl.inl.
00060 { 00061 return findAttachment(type.getGroupId(), binding); 00062 }
| SFAttachmentMap * AttachmentContainer::getSFAttachments | ( | void | ) | [inherited] |
Field Access
Definition at line 170 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap.
00171 { 00172 return &_attachmentMap; 00173 }
| AttachmentContainerPtr AttachmentContainer::getPtr | ( | void | ) | [protected, inherited] |
Definition at line 352 of file OSGAttachmentContainer.cpp.
Referenced by osg::FileGrabForeground::draw(), osg::FBOViewport::render(), osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer().
00353 { 00354 return AttachmentContainerPtr(*this); 00355 }
| UInt16 osg::FieldContainer::getClassGroupId | ( | void | ) | [inline, static, inherited] |
Definition at line 71 of file OSGFieldContainerImpl.inl.
References osg::FieldContainer::_type, and osg::FieldContainerType::getGroupId().
00072 { 00073 return _type.getGroupId(); 00074 }
| UInt32 osg::FieldContainer::getTypeId | ( | void | ) | const [inline, inherited] |
Definition at line 77 of file OSGFieldContainerImpl.inl.
References osg::TypeBase::getId(), and osg::FieldContainer::getType().
Referenced by osg::TextureChunk::changeFrom(), and osg::CubeTextureChunk::changeFrom().
00078 { 00079 return getType().getId(); 00080 }
| UInt16 osg::FieldContainer::getGroupId | ( | void | ) | const [inline, inherited] |
Definition at line 83 of file OSGFieldContainerImpl.inl.
References osg::FieldContainerType::getGroupId(), and osg::FieldContainer::getType().
Referenced by osg::fcptrAttributeMap(), osg::Image::setAttachmentField(), and osg::stringAttributeMap().
00084 { 00085 return getType().getGroupId(); 00086 }
| const Char8 * osg::FieldContainer::getTypeName | ( | void | ) | const [inline, inherited] |
Definition at line 89 of file OSGFieldContainerImpl.inl.
References osg::TypeBase::getCName(), and osg::FieldContainer::getType().
00090 { 00091 return getType().getCName(); 00092 }
Generic Field Access
Definition at line 95 of file OSGFieldContainerImpl.inl.
References osg::FieldDescription::getField(), osg::FieldContainerType::getFieldDescription(), and osg::FieldContainer::getType().
Referenced by osg::QFCItem::expand(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::QFieldViewBase::getFieldPtr(), osg::QFieldEditorBase::getFieldPtr(), osg::getParentsField(), and osg::QFCItem::setup().
00096 { 00097 const FieldDescription *desc = getType().getFieldDescription(fieldId); 00098 00099 return desc ? desc->getField(*this) : NULL; 00100 }
Generic Field Access
Definition at line 103 of file OSGFieldContainerImpl.inl.
References osg::FieldContainerType::findFieldDescription(), osg::FieldDescription::getField(), and osg::FieldContainer::getType().
00104 { 00105 const FieldDescription *desc =getType().findFieldDescription(fieldName); 00106 00107 return desc ? desc->getField(*this) : NULL; 00108 }
| void osg::FieldContainer::newPtr | ( | ObjectPtrT & | result, | |
| const typename ObjectPtrT::StoredObjectType * | prototypeP | |||
| ) | [inline, static, protected, inherited] |
Definition at line 138 of file OSGFieldContainerImpl.inl.
References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().
Referenced by osg::XWindowBase::createEmpty(), osg::WIN32WindowBase::createEmpty(), osg::ViewportBase::createEmpty(), osg::VertexProgramChunkBase::createEmpty(), osg::TwoSidedLightingChunkBase::createEmpty(), osg::TransformChunkBase::createEmpty(), osg::TransformBase::createEmpty(), osg::TileCameraDecoratorBase::createEmpty(), osg::TextureTransformChunkBase::createEmpty(), osg::TextureGrabForegroundBase::createEmpty(), osg::TextureGrabBackgroundBase::createEmpty(), osg::TextureChunkBase::createEmpty(), osg::TextureBackgroundBase::createEmpty(), osg::TexGenChunkBase::createEmpty(), osg::SwitchMaterialBase::createEmpty(), osg::SwitchBase::createEmpty(), osg::SurfaceBase::createEmpty(), osg::StringAttributeMapBase::createEmpty(), osg::StereoBufferViewportBase::createEmpty(), osg::StencilChunkBase::createEmpty(), osg::StateSortingGroupBase::createEmpty(), osg::StateBase::createEmpty(), osg::SpotLightBase::createEmpty(), osg::SortFirstWindowBase::createEmpty(), osg::SolidBackgroundBase::createEmpty(), osg::SlicesBase::createEmpty(), osg::SkyBackgroundBase::createEmpty(), osg::SimpleTexturedMaterialBase::createEmpty(), osg::SimpleStatisticsForegroundBase::createEmpty(), osg::SimpleMaterialBase::createEmpty(), osg::SHLParameterChunkBase::createEmpty(), osg::SHLChunkBase::createEmpty(), osg::ShearedStereoCameraDecoratorBase::createEmpty(), osg::ShaderParameterVec4fBase::createEmpty(), osg::ShaderParameterVec3fBase::createEmpty(), osg::ShaderParameterVec2fBase::createEmpty(), osg::ShaderParameterStringBase::createEmpty(), osg::ShaderParameterRealBase::createEmpty(), osg::ShaderParameterMVec4fBase::createEmpty(), osg::ShaderParameterMVec3fBase::createEmpty(), osg::ShaderParameterMVec2fBase::createEmpty(), osg::ShaderParameterMRealBase::createEmpty(), osg::ShaderParameterMMatrixBase::createEmpty(), osg::ShaderParameterMIntBase::createEmpty(), osg::ShaderParameterMatrixBase::createEmpty(), osg::ShaderParameterIntBase::createEmpty(), osg::ShaderParameterBoolBase::createEmpty(), osg::ScreenGroupBase::createEmpty(), osg::SClipPlaneChunkBase::createEmpty(), osg::ResolutionDisplayFilterBase::createEmpty(), osg::RenderOptionsBase::createEmpty(), osg::RegisterCombinersChunkBase::createEmpty(), osg::QTWindowBase::createEmpty(), osg::ProxyGroupBase::createEmpty(), osg::ProjectionCameraDecoratorBase::createEmpty(), osg::PolygonForegroundBase::createEmpty(), osg::PolygonChunkBase::createEmpty(), osg::PolygonBackgroundBase::createEmpty(), osg::PointLightBase::createEmpty(), osg::PointChunkBase::createEmpty(), osg::PhongMaterialBase::createEmpty(), osg::PerspectiveCameraBase::createEmpty(), osg::PassiveWindowBase::createEmpty(), osg::PassiveViewportBase::createEmpty(), osg::PassiveBackgroundBase::createEmpty(), osg::ParticlesBase::createEmpty(), osg::OrthographicCameraBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiPassMaterialBase::createEmpty(), osg::MultiDisplayWindowBase::createEmpty(), osg::MatrixCameraDecoratorBase::createEmpty(), osg::MatrixCameraBase::createEmpty(), osg::MaterialPoolBase::createEmpty(), osg::MaterialGroupBase::createEmpty(), osg::MaterialChunkBase::createEmpty(), osg::LogicOpChunkBase::createEmpty(), osg::LineChunkBase::createEmpty(), osg::LightModelChunkBase::createEmpty(), osg::LightEnvBase::createEmpty(), osg::LightChunkBase::createEmpty(), osg::InverseTransformBase::createEmpty(), osg::InlineBase::createEmpty(), osg::ImageForegroundBase::createEmpty(), osg::ImageBase::createEmpty(), osg::ImageBackgroundBase::createEmpty(), osg::GroupBase::createEmpty(), osg::GraphicStatisticsForegroundBase::createEmpty(), osg::GradientBackgroundBase::createEmpty(), osg::GrabForegroundBase::createEmpty(), osg::GLUTWindowBase::createEmpty(), osg::GeometryBase::createEmpty(), osg::FresnelMaterialBase::createEmpty(), osg::FragmentProgramChunkBase::createEmpty(), osg::FileGrabForegroundBase::createEmpty(), osg::FCPtrAttributeMapBase::createEmpty(), osg::FBOViewportBase::createEmpty(), osg::FatBorderChunkBase::createEmpty(), osg::DVRVolumeTextureBase::createEmpty(), osg::DVRVolumeBase::createEmpty(), osg::DVRSimpleShaderBase::createEmpty(), osg::DVRSimpleLUTShaderBase::createEmpty(), osg::DVRMtexLUTShaderBase::createEmpty(), osg::DVRLookupTableBase::createEmpty(), osg::DVRIsoSurfaceBase::createEmpty(), osg::DVRIsoShaderBase::createEmpty(), osg::DVRGeometryBase::createEmpty(), osg::DVRClipObjectsBase::createEmpty(), osg::DVRClipGeometryBase::createEmpty(), osg::DVRAppearanceBase::createEmpty(), osg::DistortionDisplayFilterBase::createEmpty(), osg::DistanceLODBase::createEmpty(), osg::DisplayFilterForegroundBase::createEmpty(), osg::DisplayCalibrationBase::createEmpty(), osg::DirectionalLightBase::createEmpty(), osg::DepthClearBackgroundBase::createEmpty(), osg::DepthChunkBase::createEmpty(), osg::CubeTextureChunkBase::createEmpty(), osg::ComponentTransformBase::createEmpty(), osg::ColorMaskChunkBase::createEmpty(), osg::ColorDisplayFilterBase::createEmpty(), osg::ColorBufferViewportBase::createEmpty(), osg::ClusterWindowBase::createEmpty(), osg::ClipPlaneChunkBase::createEmpty(), osg::ClipPlaneBase::createEmpty(), osg::ChunkMaterialBase::createEmpty(), osg::BlendChunkBase::createEmpty(), osg::BillboardBase::createEmpty(), osg::XWindowBase::shallowCopy(), osg::WIN32WindowBase::shallowCopy(), osg::ViewportBase::shallowCopy(), osg::VertexProgramChunkBase::shallowCopy(), osg::TwoSidedLightingChunkBase::shallowCopy(), osg::TransformChunkBase::shallowCopy(), osg::TransformBase::shallowCopy(), osg::TileCameraDecoratorBase::shallowCopy(), osg::TextureTransformChunkBase::shallowCopy(), osg::TextureGrabForegroundBase::shallowCopy(), osg::TextureGrabBackgroundBase::shallowCopy(), osg::TextureChunkBase::shallowCopy(), osg::TextureBackgroundBase::shallowCopy(), osg::TexGenChunkBase::shallowCopy(), osg::SwitchMaterialBase::shallowCopy(), osg::SwitchBase::shallowCopy(), osg::SurfaceBase::shallowCopy(), osg::StringAttributeMapBase::shallowCopy(), osg::StereoBufferViewportBase::shallowCopy(), osg::StencilChunkBase::shallowCopy(), osg::StateSortingGroupBase::shallowCopy(), osg::StateBase::shallowCopy(), osg::SpotLightBase::shallowCopy(), osg::SortFirstWindowBase::shallowCopy(), osg::SolidBackgroundBase::shallowCopy(), osg::SlicesBase::shallowCopy(), osg::SkyBackgroundBase::shallowCopy(), osg::SimpleTexturedMaterialBase::shallowCopy(), osg::SimpleStatisticsForegroundBase::shallowCopy(), osg::SimpleMaterialBase::shallowCopy(), osg::SHLParameterChunkBase::shallowCopy(), osg::SHLChunkBase::shallowCopy(), osg::ShearedStereoCameraDecoratorBase::shallowCopy(), osg::ShaderParameterVec4fBase::shallowCopy(), osg::ShaderParameterVec3fBase::shallowCopy(), osg::ShaderParameterVec2fBase::shallowCopy(), osg::ShaderParameterStringBase::shallowCopy(), osg::ShaderParameterRealBase::shallowCopy(), osg::ShaderParameterMVec4fBase::shallowCopy(), osg::ShaderParameterMVec3fBase::shallowCopy(), osg::ShaderParameterMVec2fBase::shallowCopy(), osg::ShaderParameterMRealBase::shallowCopy(), osg::ShaderParameterMMatrixBase::shallowCopy(), osg::ShaderParameterMIntBase::shallowCopy(), osg::ShaderParameterMatrixBase::shallowCopy(), osg::ShaderParameterIntBase::shallowCopy(), osg::ShaderParameterBoolBase::shallowCopy(), osg::ScreenGroupBase::shallowCopy(), osg::SClipPlaneChunkBase::shallowCopy(), osg::ResolutionDisplayFilterBase::shallowCopy(), osg::RenderOptionsBase::shallowCopy(), osg::RegisterCombinersChunkBase::shallowCopy(), osg::QTWindowBase::shallowCopy(), osg::ProxyGroupBase::shallowCopy(), osg::ProjectionCameraDecoratorBase::shallowCopy(), osg::PolygonForegroundBase::shallowCopy(), osg::PolygonChunkBase::shallowCopy(), osg::PolygonBackgroundBase::shallowCopy(), osg::PointLightBase::shallowCopy(), osg::PointChunkBase::shallowCopy(), osg::PhongMaterialBase::shallowCopy(), osg::PerspectiveCameraBase::shallowCopy(), osg::PassiveWindowBase::shallowCopy(), osg::PassiveViewportBase::shallowCopy(), osg::PassiveBackgroundBase::shallowCopy(), osg::ParticlesBase::shallowCopy(), osg::OrthographicCameraBase::shallowCopy(), osg::OffCenterPerspectiveCameraBase::shallowCopy(), osg::MultiPassMaterialBase::shallowCopy(), osg::MultiDisplayWindowBase::shallowCopy(), osg::MatrixCameraDecoratorBase::shallowCopy(), osg::MatrixCameraBase::shallowCopy(), osg::MaterialPoolBase::shallowCopy(), osg::MaterialGroupBase::shallowCopy(), osg::MaterialChunkBase::shallowCopy(), osg::LogicOpChunkBase::shallowCopy(), osg::LineChunkBase::shallowCopy(), osg::LightModelChunkBase::shallowCopy(), osg::LightEnvBase::shallowCopy(), osg::LightChunkBase::shallowCopy(), osg::InverseTransformBase::shallowCopy(), osg::InlineBase::shallowCopy(), osg::ImageForegroundBase::shallowCopy(), osg::ImageBase::shallowCopy(), osg::ImageBackgroundBase::shallowCopy(), osg::GroupBase::shallowCopy(), osg::GraphicStatisticsForegroundBase::shallowCopy(), osg::GradientBackgroundBase::shallowCopy(), osg::GrabForegroundBase::shallowCopy(), osg::GLUTWindowBase::shallowCopy(), osg::GeometryBase::shallowCopy(), osg::FresnelMaterialBase::shallowCopy(), osg::FragmentProgramChunkBase::shallowCopy(), osg::FileGrabForegroundBase::shallowCopy(), osg::FCPtrAttributeMapBase::shallowCopy(), osg::FBOViewportBase::shallowCopy(), osg::FatBorderChunkBase::shallowCopy(), osg::DVRVolumeTextureBase::shallowCopy(), osg::DVRVolumeBase::shallowCopy(), osg::DVRSimpleShaderBase::shallowCopy(), osg::DVRSimpleLUTShaderBase::shallowCopy(), osg::DVRMtexLUTShaderBase::shallowCopy(), osg::DVRLookupTableBase::shallowCopy(), osg::DVRIsoSurfaceBase::shallowCopy(), osg::DVRIsoShaderBase::shallowCopy(), osg::DVRGeometryBase::shallowCopy(), osg::DVRClipObjectsBase::shallowCopy(), osg::DVRClipGeometryBase::shallowCopy(), osg::DVRAppearanceBase::shallowCopy(), osg::DistortionDisplayFilterBase::shallowCopy(), osg::DistanceLODBase::shallowCopy(), osg::DisplayFilterForegroundBase::shallowCopy(), osg::DisplayCalibrationBase::shallowCopy(), osg::DirectionalLightBase::shallowCopy(), osg::DepthClearBackgroundBase::shallowCopy(), osg::DepthChunkBase::shallowCopy(), osg::CubeTextureChunkBase::shallowCopy(), osg::ComponentTransformBase::shallowCopy(), osg::ColorMaskChunkBase::shallowCopy(), osg::ColorDisplayFilterBase::shallowCopy(), osg::ColorBufferViewportBase::shallowCopy(), osg::ClusterWindowBase::shallowCopy(), osg::ClipPlaneChunkBase::shallowCopy(), osg::ClipPlaneBase::shallowCopy(), osg::ChunkMaterialBase::shallowCopy(), osg::BlendChunkBase::shallowCopy(), and osg::BillboardBase::shallowCopy().
00141 { 00142 typedef typename ObjectPtrT::StoredObjectType ObjectType; 00143 00144 UInt8 *pTmp; 00145 00146 result._containerSize = sizeof(ObjectType); 00147 00148 pTmp = 00149 static_cast<UInt8 *>(operator new( 00150 sizeof(Int32) + // ReferenceCount 00151 sizeof(UInt32) + // ContainerId 00152 sizeof(ObjectType) * ThreadManager::getNumAspects())); 00153 00154 *(reinterpret_cast<Int32 *>(pTmp)) = 0; 00155 00156 pTmp += sizeof(Int32); 00157 00158 result._storeP = (pTmp + sizeof(UInt32)); 00159 00160 #ifdef OSG_DEBUG_FCPTR 00161 result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP); 00162 #endif 00163 00164 *(reinterpret_cast<UInt32 *>(pTmp)) = 00165 FieldContainerFactory::the()->registerFieldContainer(result); 00166 00167 Thread::getCurrentChangeList()->addCreated( 00168 *(reinterpret_cast<UInt32 *>(pTmp))); 00169 00170 pTmp += sizeof(UInt32); 00171 00172 ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp); 00173 00174 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00175 { 00176 pTmp = 00177 reinterpret_cast<UInt8 *>(new (pTmp) ObjectType(*prototypeP)); 00178 00179 pTmp += sizeof(ObjectType); 00180 } 00181 00182 result->onCreate(prototypeP); 00183 00184 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00185 { 00186 aObject[i].onCreateAspect(aObject, prototypeP); 00187 } 00188 00189 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00190 00191 fprintf(stderr, "GV_MEM_FC_DBG : (%u) cc (%p|%u)\n", 00192 Thread::getAspect(), 00193 result._storeP, 00194 // ObjectType::getClassType().getCName(), 00195 ObjectType::getClassType().getId()); 00196 #endif 00197 00198 #ifdef OSG_DEBUG_TYPED_FCPTR 00199 result.updateTypedStore(); 00200 #endif 00201 }
| void osg::FieldContainer::newPtr | ( | ObjectPtrT & | result | ) | [inline, static, protected, inherited] |
Definition at line 204 of file OSGFieldContainerImpl.inl.
References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().
00205 { 00206 typedef typename ObjectPtrT::StoredObjectType ObjectType; 00207 00208 UInt8 *pTmp; 00209 00210 result._containerSize = sizeof(ObjectType); 00211 00212 pTmp = 00213 static_cast<UInt8 *>(operator new( 00214 sizeof(Int32) + // ReferenceCount 00215 sizeof(UInt32) + // ContainerId 00216 sizeof(ObjectType) * ThreadManager::getNumAspects())); 00217 00218 *(reinterpret_cast<Int32 *>(pTmp)) = 0; 00219 00220 pTmp += sizeof(Int32); 00221 00222 result._storeP = (pTmp + sizeof(UInt32)); 00223 00224 #ifdef OSG_DEBUG_FCPTR 00225 result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP); 00226 #endif 00227 00228 *(reinterpret_cast<UInt32 *>(pTmp)) = 00229 FieldContainerFactory::the()->registerFieldContainer(result); 00230 00231 Thread::getCurrentChangeList()->addCreated( 00232 *(reinterpret_cast<UInt32 *>(pTmp))); 00233 00234 pTmp += sizeof(UInt32); 00235 00236 ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp); 00237 00238 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00239 { 00240 pTmp = reinterpret_cast<UInt8 *>(new (pTmp) ObjectType()); 00241 00242 pTmp += sizeof(ObjectType); 00243 } 00244 00245 result->onCreate(); 00246 00247 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00248 { 00249 aObject[i].onCreateAspect(aObject); 00250 } 00251 00252 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00253 fprintf(stderr, "GV_MEM_FC_DBG : (%u) c (%p|%u)\n", 00254 Thread::getAspect(), 00255 result._storeP, 00256 // ObjectType::getClassType().getCName(), 00257 ObjectType::getClassType().getId()); 00258 #endif 00259 00260 #ifdef OSG_DEBUG_TYPED_FCPTR 00261 result.updateTypedStore(); 00262 #endif 00263 }
| void osg::FieldContainer::beginEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
| void osg::FieldContainer::endEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
Definition at line 291 of file OSGFieldContainerImpl.inl.
References osg::endEditCP().
00292 { 00293 FieldContainerPtr tmpPtr(this); 00294 endEditCP(tmpPtr, whichField); 00295 }
friend class FieldContainer [friend] |
Reimplemented from osg::ClusterWindowBase.
Reimplemented in osg::MultiDisplayWindow, osg::MultiDisplayWindowBase, osg::SortFirstWindow, and osg::SortFirstWindowBase.
Definition at line 207 of file OSGClusterWindow.h.
friend class ClusterWindowBase [friend] |
Definition at line 208 of file OSGClusterWindow.h.
friend class ClusterServer [friend] |
Definition at line 209 of file OSGClusterWindow.h.
friend class ClusterClient [friend] |
Definition at line 210 of file OSGClusterWindow.h.
friend class GLObject [friend, inherited] |
bool osg::ClusterWindow::_firstFrame [protected] |
StatCollector* osg::ClusterWindow::_statistics [protected] |
Definition at line 186 of file OSGClusterWindow.h.
Referenced by getStatistics(), init(), and setStatistics().
Definition at line 196 of file OSGClusterWindow.h.
Referenced by init(), initAsync(), and setConnectionCB().
ClusterNetwork* osg::ClusterWindow::_network [private] |
Definition at line 197 of file OSGClusterWindow.h.
Referenced by getNetwork(), and ~ClusterWindow().
const osg::BitVector osg::ClusterWindowBase::ServersFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ServersFieldId)
Definition at line 128 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ConnectionTypeFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ConnectionTypeFieldId)
Definition at line 129 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ConnectionInterfaceFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ConnectionInterfaceFieldId)
Definition at line 130 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ConnectionDestinationFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ConnectionDestinationFieldId)
Definition at line 131 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ConnectionParamsFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ConnectionParamsFieldId)
Definition at line 132 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ServicePortFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ServicePortFieldId)
Definition at line 133 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ServiceAddressFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ServiceAddressFieldId)
Definition at line 134 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ServiceInterfaceFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ServiceInterfaceFieldId)
Definition at line 135 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ClientWindowFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ClientWindowFieldId)
Definition at line 136 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::InterleaveFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::InterleaveFieldId)
Definition at line 137 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::FrameCountFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::FrameCountFieldId)
Definition at line 138 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), frameInit(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::ComposerFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::ComposerFieldId)
Definition at line 139 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::AutostartFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::AutostartFieldId)
Definition at line 140 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), and osg::ClusterWindowBase::getBinSize().
const osg::BitVector osg::ClusterWindowBase::CalibrationFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::CalibrationFieldId)
Definition at line 141 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), and loadCalibration().
const osg::BitVector osg::ClusterWindowBase::FilterFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::FilterFieldId)
Definition at line 142 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), and loadFilter().
const osg::BitVector osg::ClusterWindowBase::DirtyFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ClusterWindowBase::DirtyFieldId)
Definition at line 143 of file OSGClusterWindowBase.h.
Referenced by clientSwap(), osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), loadFilter(), updateFilter(), and osg::MultiDisplayWindow::updateViewport().
const osg::BitVector osg::ClusterWindowBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::WindowBase.
Reimplemented in osg::MultiDisplayWindowBase, and osg::SortFirstWindowBase.
Definition at line 146 of file OSGClusterWindowBase.h.
std::string osg::ClusterWindowBase::_mfServers [protected, inherited] |
List of all symbolic server names
Definition at line 279 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getMFServers(), and osg::ClusterWindowBase::getServers().
std::string osg::ClusterWindowBase::_sfConnectionType [protected, inherited] |
How to connect to the servers
Definition at line 280 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getConnectionType(), osg::ClusterWindowBase::getSFConnectionType(), and osg::ClusterWindowBase::setConnectionType().
std::string osg::ClusterWindowBase::_sfConnectionInterface [protected, inherited] |
Which network interface to use for communication
Definition at line 281 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getConnectionInterface(), osg::ClusterWindowBase::getSFConnectionInterface(), and osg::ClusterWindowBase::setConnectionInterface().
std::string osg::ClusterWindowBase::_sfConnectionDestination [protected, inherited] |
Multicast address for multicast connections
Definition at line 282 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getConnectionDestination(), osg::ClusterWindowBase::getSFConnectionDestination(), and osg::ClusterWindowBase::setConnectionDestination().
std::string osg::ClusterWindowBase::_sfConnectionParams [protected, inherited] |
Optional parameters e.g. "TTL=2"
Definition at line 283 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getConnectionParams(), osg::ClusterWindowBase::getSFConnectionParams(), and osg::ClusterWindowBase::setConnectionParams().
UInt32 osg::ClusterWindowBase::_sfServicePort [protected, inherited] |
Broadcastport used for server search
Definition at line 284 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getServicePort(), osg::ClusterWindowBase::getSFServicePort(), and osg::ClusterWindowBase::setServicePort().
std::string osg::ClusterWindowBase::_sfServiceAddress [protected, inherited] |
Broadcast or Multicast address used for server search
Definition at line 285 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getServiceAddress(), osg::ClusterWindowBase::getSFServiceAddress(), init(), and osg::ClusterWindowBase::setServiceAddress().
std::string osg::ClusterWindowBase::_sfServiceInterface [protected, inherited] |
Ethernet interface to be used for server search
Definition at line 286 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getServiceInterface(), osg::ClusterWindowBase::getSFServiceInterface(), and osg::ClusterWindowBase::setServiceInterface().
WindowPtr osg::ClusterWindowBase::_sfClientWindow [protected, inherited] |
Window for client rendering
Definition at line 287 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getClientWindow(), osg::ClusterWindowBase::getSFClientWindow(), and osg::ClusterWindowBase::setClientWindow().
UInt32 osg::ClusterWindowBase::_sfInterleave [protected, inherited] |
List of all symbolic server names
Definition at line 288 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getInterleave(), osg::ClusterWindowBase::getSFInterleave(), and osg::ClusterWindowBase::setInterleave().
UInt32 osg::ClusterWindowBase::_sfFrameCount [protected, inherited] |
List of all symbolic server names
Definition at line 289 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getFrameCount(), osg::ClusterWindowBase::getSFFrameCount(), and osg::ClusterWindowBase::setFrameCount().
ImageComposerPtr osg::ClusterWindowBase::_sfComposer [protected, inherited] |
List of all symbolic server names
Definition at line 290 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getComposer(), osg::ClusterWindowBase::getSFComposer(), and osg::ClusterWindowBase::setComposer().
std::string osg::ClusterWindowBase::_mfAutostart [protected, inherited] |
List of all symbolic server names
Definition at line 291 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getAutostart(), osg::ClusterWindowBase::getBinSize(), and osg::ClusterWindowBase::getMFAutostart().
DisplayCalibrationPtr osg::ClusterWindowBase::_mfCalibration [protected, inherited] |
List of all symbolic server names
Definition at line 292 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getCalibration(), and osg::ClusterWindowBase::getMFCalibration().
DisplayFilterForegroundPtr osg::ClusterWindowBase::_mfFilter [protected, inherited] |
Display filter foregrounds can be used instead of calibration
Definition at line 293 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getFilter(), and osg::ClusterWindowBase::getMFFilter().
bool osg::ClusterWindowBase::_sfDirty [protected, inherited] |
Internally set for forceing re-initialization of foregrounds
Definition at line 294 of file OSGClusterWindowBase.h.
Referenced by osg::ClusterWindowBase::copyFromBin(), osg::ClusterWindowBase::copyToBin(), osg::ClusterWindowBase::executeSyncImpl(), osg::ClusterWindowBase::getBinSize(), osg::ClusterWindowBase::getDirty(), osg::ClusterWindowBase::getSFDirty(), and osg::ClusterWindowBase::setDirty().
const Real32 osg::Window::unknownConstant = -1e100 [static, inherited] |
Definition at line 94 of file OSGWindow.h.
Referenced by osg::TextureTransformChunk::activate(), osg::TextureChunk::activate(), osg::TexGenChunk::activate(), osg::CubeTextureChunk::activate(), osg::TextureTransformChunk::changeFrom(), osg::TextureChunk::changeFrom(), osg::TexGenChunk::changeFrom(), osg::CubeTextureChunk::changeFrom(), osg::TextureTransformChunk::deactivate(), osg::TextureChunk::deactivate(), osg::TexGenChunk::deactivate(), osg::CubeTextureChunk::deactivate(), and osg::Window::frameInit().
const osg::BitVector WindowBase::WidthFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << WindowBase::WidthFieldId)
Definition at line 110 of file OSGWindowBase.h.
Referenced by osg::SortFirstWindow::clientPreSync(), osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), and osg::Window::resize().
const osg::BitVector WindowBase::HeightFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << WindowBase::HeightFieldId)
Definition at line 111 of file OSGWindowBase.h.
Referenced by osg::SortFirstWindow::clientPreSync(), osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), and osg::Window::resize().
const osg::BitVector WindowBase::PortFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << WindowBase::PortFieldId)
Definition at line 112 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), and osg::WindowBase::getBinSize().
const osg::BitVector WindowBase::ResizePendingFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << WindowBase::ResizePendingFieldId)
Definition at line 113 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::Window::resize(), and osg::Window::resizeGL().
const osg::BitVector WindowBase::GlObjectEventCounterFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << WindowBase::GlObjectEventCounterFieldId)
Definition at line 114 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::Window::refreshGLObject(), osg::Window::reinitializeGLObject(), and osg::RemoteAspect::RemoteAspect().
const osg::BitVector WindowBase::GlObjectLastRefreshFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << WindowBase::GlObjectLastRefreshFieldId)
Definition at line 115 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::Window::doInitRegisterGLObject(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::Window::refreshGLObject(), and osg::RemoteAspect::RemoteAspect().
const osg::BitVector WindowBase::GlObjectLastReinitializeFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << WindowBase::GlObjectLastReinitializeFieldId)
Definition at line 116 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::Window::doInitRegisterGLObject(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::Window::reinitializeGLObject(), and osg::RemoteAspect::RemoteAspect().
UInt16 WindowBase::_sfWidth [protected, inherited] |
Definition at line 192 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::WindowBase::getSFWidth(), osg::WindowBase::getWidth(), and osg::WindowBase::setWidth().
UInt16 WindowBase::_sfHeight [protected, inherited] |
Definition at line 193 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::WindowBase::getHeight(), osg::WindowBase::getSFHeight(), and osg::WindowBase::setHeight().
ViewportPtr WindowBase::_mfPort [protected, inherited] |
Definition at line 194 of file OSGWindowBase.h.
Referenced by osg::Window::addPort(), osg::Window::clearPorts(), osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::Window::drawAllViewports(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::WindowBase::getMFPort(), osg::WindowBase::getPort(), osg::Window::insertPort(), osg::Window::operator=(), osg::Window::renderAllViewports(), osg::Window::replacePort(), osg::Window::replacePortBy(), and osg::Window::subPort().
bool WindowBase::_sfResizePending [protected, inherited] |
Definition at line 195 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::WindowBase::getResizePending(), osg::WindowBase::getSFResizePending(), osg::Window::isResizePending(), and osg::WindowBase::setResizePending().
UInt32 WindowBase::_sfGlObjectEventCounter [protected, inherited] |
Counter for GL object events. Needed for multi-aspect updates. Is used in glObjectLastRefresh and glObjectLastReinitialize.
Definition at line 196 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::WindowBase::getGlObjectEventCounter(), osg::WindowBase::getSFGlObjectEventCounter(), and osg::WindowBase::setGlObjectEventCounter().
UInt32 WindowBase::_mfGlObjectLastRefresh [protected, inherited] |
indicates the last refresh for the GL object
Definition at line 197 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::Window::doInitRegisterGLObject(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::WindowBase::getGlObjectLastRefresh(), osg::WindowBase::getMFGlObjectLastRefresh(), and osg::Window::validateGLObject().
UInt32 WindowBase::_mfGlObjectLastReinitialize [protected, inherited] |
indicates the last reinit for the GL object
Definition at line 198 of file OSGWindowBase.h.
Referenced by osg::WindowBase::copyFromBin(), osg::WindowBase::copyToBin(), osg::Window::doInitRegisterGLObject(), osg::WindowBase::executeSyncImpl(), osg::WindowBase::getBinSize(), osg::WindowBase::getGlObjectLastReinitialize(), osg::WindowBase::getMFGlObjectLastReinitialize(), and osg::Window::validateGLObject().
const BitVector AttachmentContainer::AttachmentsFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One <<
AttachmentContainer::AttachmentsFieldId)
Definition at line 84 of file OSGAttachmentContainerImpl.h.
Referenced by osg::VRMLFile::beginNode(), osg::AttachmentContainer::changed(), osg::AttachmentContainer::copyFromBin(), osg::AttachmentContainer::copyToBin(), osg::deepCloneAttachments(), osg::AttachmentContainer::executeSyncImpl(), osg::fcptrAttributeMap(), osg::AttachmentContainer::getBinSize(), and osg::stringAttributeMap().
SFAttachmentMap osg::AttachmentContainer::_attachmentMap [protected, inherited] |
Definition at line 161 of file OSGAttachmentContainerImpl.h.
Referenced by osg::AttachmentContainer::AttachmentContainer(), osg::AttachmentContainer::changed(), osg::AttachmentContainer::copyFromBin(), osg::AttachmentContainer::copyToBin(), osg::NodeCore::dump(), osg::Node::dump(), osg::Geometry::dump(), osg::AttachmentContainer::dump(), osg::AttachmentContainer::executeSyncImpl(), osg::AttachmentContainer::findAttachment(), osg::AttachmentContainer::getBinSize(), osg::AttachmentContainer::getSFAttachments(), osg::Node::onCreate(), osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer().
const BitVector osg::FieldContainer::NextFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << NextFieldId)
Definition at line 75 of file OSGFieldContainerImpl.h.
const bool osg::FieldContainer::isNodeCore = false [static, inherited] |
UInt32 osg::FieldContainer::_shares [protected, inherited] |
Definition at line 199 of file OSGFieldContainerImpl.h.
1.5.5