OpenSceneGraph API
osg.AlphaFuncosg.AnimationPathosg.AnimationPathCallbackosg.ApplicationUsageosg.ApplicationUsageProxyosg.ArgumentParserosg.Arrayosg.ArrayVisitorosg.AtomicCounterBufferBindingosg.AtomicCounterBufferObjectosg.AttributeDispatchosg.AttributeDispatchersosg.AttributeFunctorArrayVisitorosg.AudioSinkosg.AudioStreamosg.AutoTransformosg.BarrierOperationosg.Billboardosg.BindImageTextureosg.BlendColorosg.BlendEquationosg.BlendEquationiosg.BlendFuncosg.BlendFunciosg.BlockAndFlushOperationosg.BoundingBoxImplosg.BoundingSphereImplosg.Boxosg.BufferDataosg.buffered_objectosg.buffered_valueosg.BufferIndexBindingosg.BufferObjectosg.BufferObjectProfileosg.BufferTemplateosg.BuildShapeGeometryVisitorosg.Callbackosg.CallbackObjectosg.Cameraosg.CameraRenderOrderSortOposg.CameraViewosg.Capabilityosg.Capabilityiosg.Capsuleosg.CastAndScaleToFloatOperationosg.ClampColorosg.ClampedLinearCostFunction1Dosg.ClearNodeosg.ClipControlosg.ClipNodeosg.ClipPlaneosg.ClusterCullingCallbackosg.CollectOccludersVisitorosg.ColorMaskosg.ColorMaskiosg.ColorMatrixosg.CompositeShapeosg.ComputeBoundsVisitorosg.Coneosg.ConfigureBufferObjectsVisitorosg.ConstArrayVisitorosg.ConstAttributeFunctorArrayVisitorosg.ConstShapeVisitorosg.ConstValueVisitorosg.ContextDataosg.ConvexHullosg.ConvexPlanarOccluderosg.ConvexPlanarPolygonosg.CoordinateSystemNodeosg.CopyOposg.CullFaceosg.CullingSetosg.CullSettingsosg.CullStackosg.Cylinderosg.DefaultIndirectCommandDrawArraysosg.DefaultIndirectCommandDrawElementsosg.DefaultUserDataContainerosg.DeleteHandlerosg.depends_onosg.Depthosg.DepthRangeIndexedosg.Disableiosg.DispatchComputeosg.DisplaySettingsosg.Drawableosg.DrawableCullCallbackosg.DrawableEventCallbackosg.DrawableUpdateCallbackosg.DrawArrayLengthsosg.DrawArraysosg.DrawArraysIndirectosg.DrawArraysIndirectCommandosg.DrawElementsosg.DrawElementsIndirectosg.DrawElementsIndirectCommandosg.DrawElementsIndirectUByteosg.DrawElementsIndirectUIntosg.DrawElementsIndirectUShortosg.DrawElementsUByteosg.DrawElementsUIntosg.DrawElementsUShortosg.DrawIndirectBufferObjectosg.DrawPixelsosg.DummyObjectosg.ElapsedTimeosg.ElementBufferObjectosg.EllipsoidModelosg.Enableiosg.EndOfDynamicDrawBlockosg.fast_back_stackosg.FlushDeletedGLObjectsOperationosg.Fogosg.FragmentProgramosg.FrameBufferAttachmentosg.FrameBufferObjectosg.FrameStamposg.FrontFaceosg.Geodeosg.Geometryosg.GeometryCostEstimatorosg.GetScalarValueosg.GLBufferObjectosg.GLBufferObjectManagerosg.GLBufferObjectSetosg.GLExtensionsosg.GLFrameBufferObjectManagerosg.GLObjectManagerosg.GLRenderBufferManagerosg.GraphicsContextosg.GraphicsCostEstimatorosg.GraphicsObjectosg.GraphicsObjectManagerosg.GraphicsOperationosg.GraphicsThreadosg.Grouposg.HeightFieldosg.Hintosg.Identifierosg.Imageosg.ImageSequenceosg.ImageStreamosg.IndexArrayosg.IndirectCommandDrawArraysosg.IndirectCommandDrawElementsosg.InfinitePlaneosg.KdTreeosg.KdTreeBuilderosg.Lightosg.LightModelosg.LightSourceosg.LineSegmentosg.LineStippleosg.LineWidthosg.LODosg.LogicOposg.MakeStringosg.Materialosg.Matrix2Templateosg.Matrix2x3Templateosg.Matrix2x4Templateosg.Matrix3Templateosg.Matrix3x2Templateosg.Matrix3x4Templateosg.Matrix4x2Templateosg.Matrix4x3Templateosg.Matrixdosg.Matrixfosg.MatrixTransformosg.MixinVectorosg.MultiDrawArraysosg.MultiDrawArraysIndirectosg.MultiDrawElementsIndirectUByteosg.MultiDrawElementsIndirectUIntosg.MultiDrawElementsIndirectUShortosg.Multisampleosg.Nodeosg.NodeAcceptOposg.NodeCallbackosg.NodeTrackerCallbackosg.NodeVisitorosg.NotifyHandlerosg.Objectosg.Observerosg.observer_ptrosg.ObserverNodePathosg.ObserverSetosg.OccluderNodeosg.OcclusionQueryNodeosg.Operationosg.OperationQueueosg.OperationThreadosg.PagedLODosg.PatchParameterosg.PixelBufferObjectosg.PixelDataBufferObjectosg.PixelStorageModesosg.Planeosg.Pointosg.PointSpriteosg.PolygonModeosg.PolygonOffsetosg.PolygonStippleosg.Polytopeosg.PositionAttitudeTransformosg.PrimitiveFunctorosg.PrimitiveIndexFunctorosg.PrimitiveRestartIndexosg.PrimitiveSetosg.Programosg.ProgramCostEstimatorosg.Projectionosg.ProxyNodeosg.PushPopObjectosg.PushPopValueosg.Quatosg.QueryGeometryosg.ref_ptrosg.RefBlockosg.RefBlockCountosg.Referencedosg.RefMatrixdosg.RefMatrixfosg.ReleaseContext_Block_MakeCurrentOperationosg.RenderBufferosg.RenderInfoosg.RunOperationsosg.SampleMaskiosg.Samplerosg.Scissorosg.ScissorIndexedosg.Scriptosg.ScriptEngineosg.ScriptNodeCallbackosg.Sequenceosg.SetScalarValueosg.ShadeModelosg.Shaderosg.ShaderAttributeosg.ShaderBinaryosg.ShaderComponentosg.ShaderComposerosg.ShaderPragmasosg.ShaderStorageBufferBindingosg.ShaderStorageBufferObjectosg.ShadowVolumeOccluderosg.Shapeosg.ShapeDrawableosg.ShapeVisitorosg.Sphereosg.StandardNotifyHandlerosg.Stateosg.StateAttributeosg.StateAttributeCallbackosg.StateSetosg.Statsosg.Stencilosg.StencilTwoSidedosg.SwapBuffersOperationosg.Switchosg.SyncSwapBuffersCallbackosg.TemplateArrayosg.TemplateArrayUniformosg.TemplateIndexArrayosg.TemplateMatrixosg.TemplatePrimitiveFunctorosg.TemplatePrimitiveIndexFunctorosg.TemplateUniformosg.TemplateValueObjectosg.TessellationHintsosg.TestResultosg.TexEnvosg.TexEnvCombineosg.TexEnvFilterosg.TexGenosg.TexGenNodeosg.TexMatosg.Textureosg.Texture1Dosg.Texture2Dosg.Texture2DArrayosg.Texture2DMultisampleosg.Texture3Dosg.TextureAttributeosg.TextureBufferosg.TextureCostEstimatorosg.TextureCubeMaposg.TextureObjectManagerosg.TextureObjectSetosg.TextureRectangleosg.Timerosg.TransferFunctionosg.TransferFunction1Dosg.Transformosg.TransformFeedbackBufferBindingosg.TriangleFunctorosg.TriangleIndexFunctorosg.TriangleLinePointIndexFunctorosg.TriangleMeshosg.UniformBaseosg.UniformBufferBindingosg.UniformBufferObjectosg.UniformCallbackosg.UniformClassNameTraitosg.UserDataContainerosg.ValueMaposg.ValueObjectosg.ValueObjectClassNameTraitosg.ValueStackosg.ValueVisitorosg.Vec2bosg.Vec2dosg.Vec2fosg.Vec2iosg.Vec2sosg.Vec2ubosg.Vec2uiosg.Vec2usosg.Vec3bosg.Vec3dosg.Vec3fosg.Vec3iosg.Vec3sosg.Vec3ubosg.Vec3uiosg.Vec3usosg.Vec4bosg.Vec4dosg.Vec4fosg.Vec4iosg.Vec4sosg.Vec4ubosg.Vec4uiosg.Vec4usosg.VertexArrayStateosg.VertexArrayStateListosg.VertexAttribAliasosg.VertexAttribDivisorosg.VertexBufferObjectosg.VertexProgramosg.Viewosg.Viewportosg.ViewportIndexedosg.WindowingSystemInterfaceProxyosgAnimation.ActionosgAnimation.ActionAnimationosgAnimation.ActionBlendInosgAnimation.ActionBlendOutosgAnimation.ActionStripAnimationosgAnimation.ActionVisitorosgAnimation.AnimationosgAnimation.AnimationManagerBaseosgAnimation.AnimationUpdateCallbackosgAnimation.AnimationUpdateCallbackBaseosgAnimation.BasicAnimationManagerosgAnimation.BoneosgAnimation.BoneMapVisitorosgAnimation.ChannelosgAnimation.ClearActionVisitorosgAnimation.CompositeMotionosgAnimation.InBackFunctionosgAnimation.InBounceFunctionosgAnimation.InCircFunctionosgAnimation.InCubicFunctionosgAnimation.InElasticFunctionosgAnimation.InExpoFunctionosgAnimation.InOutBackFunctionosgAnimation.InOutBounceFunctionosgAnimation.InOutCircFunctionosgAnimation.InOutCubicFunctionosgAnimation.InOutElasticFunctionosgAnimation.InOutExpoFunctionosgAnimation.InOutQuadFunctionosgAnimation.InOutQuartFunctionosgAnimation.InOutSineFunctionosgAnimation.InQuadFunctionosgAnimation.InQuartFunctionosgAnimation.InSineFunctionosgAnimation.KeyframeosgAnimation.KeyframeContainerosgAnimation.LinearFunctionosgAnimation.LinkVisitorosgAnimation.MathMotionTemplateosgAnimation.MorphGeometryosgAnimation.MorphTransformosgAnimation.MorphTransformHardwareosgAnimation.MorphTransformSoftwareosgAnimation.MotionosgAnimation.OutBackFunctionosgAnimation.OutBounceFunctionosgAnimation.OutCircFunctionosgAnimation.OutCubicFunctionosgAnimation.OutElasticFunctionosgAnimation.OutExpoFunctionosgAnimation.OutQuadFunctionosgAnimation.OutQuartFunctionosgAnimation.OutSineFunctionosgAnimation.RigComputeBoundingBoxCallbackosgAnimation.RigGeometryosgAnimation.RigTransformosgAnimation.RigTransformHardwareosgAnimation.RigTransformSoftwareosgAnimation.RunActionosgAnimation.SamplerosgAnimation.SamplerMotionTemplateosgAnimation.SkeletonosgAnimation.StackedMatrixElementosgAnimation.StackedQuaternionElementosgAnimation.StackedRotateAxisElementosgAnimation.StackedScaleElementosgAnimation.StackedTransformosgAnimation.StackedTransformElementosgAnimation.StackedTranslateElementosgAnimation.StatsActionVisitorosgAnimation.StatsHandlerosgAnimation.TargetosgAnimation.TemplateChannelosgAnimation.TemplateCompositeSamplerosgAnimation.TemplateCubicBezierosgAnimation.TemplateCubicBezierInterpolatorosgAnimation.TemplateInterpolatorBaseosgAnimation.TemplateKeyframeosgAnimation.TemplateKeyframeContainerosgAnimation.TemplateLinearInterpolatorosgAnimation.TemplateLinearPackedInterpolatorosgAnimation.TemplateSamplerosgAnimation.TemplateSphericalLinearInterpolatorosgAnimation.TemplateStepInterpolatorosgAnimation.TemplateTargetosgAnimation.TimelineosgAnimation.TimelineAnimationManagerosgAnimation.UpdateActionVisitorosgAnimation.UpdateBoneosgAnimation.UpdateFloatUniformosgAnimation.UpdateMaterialosgAnimation.UpdateMatrixfUniformosgAnimation.UpdateMatrixTransformosgAnimation.UpdateMorphosgAnimation.UpdateMorphGeometryosgAnimation.UpdateRigGeometryosgAnimation.UpdateUniformosgAnimation.UpdateVec2fUniformosgAnimation.UpdateVec3fUniformosgAnimation.UpdateVec4fUniformosgAnimation.Vec3ArrayPackedosgAnimation.Vec3PackedosgAnimation.VertexInfluenceosgAnimation.VertexInfluenceMaposgDB.ArchiveosgDB.AuthenticationDetailsosgDB.AuthenticationMaposgDB.base64_decodestateosgDB.base64_encodestateosgDB.Base64decoderosgDB.Base64encoderosgDB.BaseCompressorosgDB.BaseSerializerosgDB.basic_type_wrapperosgDB.BitFlagsSerializerosgDB.ClassInterfaceosgDB.DatabasePagerosgDB.DatabaseRevisionosgDB.DatabaseRevisionsosgDB.DeprecatedDotOsgWrapperManagerosgDB.DotOsgWrapperosgDB.DynamicLibraryosgDB.EnumSerializerosgDB.ExternalFileWriterosgDB.FieldosgDB.FieldReaderosgDB.FieldReaderIteratorosgDB.FileCacheosgDB.FileListosgDB.FileLocationCallbackosgDB.FileNameComparatorosgDB.FindFileCallbackosgDB.FinishedObjectReadCallbackosgDB.GLenumSerializerosgDB.ifstreamosgDB.ImageOptionsosgDB.ImagePagerosgDB.ImageProcessorosgDB.ImageSerializerosgDB.InputosgDB.InputExceptionosgDB.InputIteratorosgDB.InputStreamosgDB.IntLookuposgDB.IsAVectorSerializerosgDB.ListSerializerosgDB.MapBaseSerializerosgDB.MapIteratorObjectosgDB.MapSerializerosgDB.MatrixSerializerosgDB.MethodObjectosgDB.ObjectCacheosgDB.ObjectGLenumosgDB.ObjectMarkosgDB.ObjectPropertyosgDB.ObjectSerializerosgDB.ObjectWrapperosgDB.ObjectWrapperAssociateosgDB.ObjectWrapperManagerosgDB.ofstreamosgDB.OptionsosgDB.OutputosgDB.OutputExceptionosgDB.OutputIteratorosgDB.OutputStreamosgDB.ParameterOutputosgDB.PluginFunctionProxyosgDB.PropByRefSerializerosgDB.PropByValSerializerosgDB.ReaderWriterosgDB.ReaderWriterInfoosgDB.ReadFileCallbackosgDB.RegisterCompressorProxyosgDB.RegisterCustomWrapperProxyosgDB.RegisterDotOsgWrapperProxyosgDB.RegisterImageProcessorProxyosgDB.RegisterReaderWriterProxyosgDB.RegisterWrapperProxyosgDB.RegistryosgDB.SharedStateManagerosgDB.StringSerializerosgDB.TemplateRegisterDotOsgWrapperProxyosgDB.TemplateSerializerosgDB.type_wrapperosgDB.UpdateWrapperVersionProxyosgDB.UserLookupTableProxyosgDB.UserSerializerosgDB.VectorBaseSerializerosgDB.VectorSerializerosgDB.WriteFileCallbackosgDB.XmlNodeosgFX.AnisotropicLightingosgFX.BumpMappingosgFX.CartoonosgFX.EffectosgFX.MultiTextureControlosgFX.OutlineosgFX.RegistryosgFX.ScribeosgFX.SpecularHighlightsosgFX.TechniqueosgFX.ValidatorosgGA.AnimationPathManipulatorosgGA.CameraManipulatorosgGA.CameraViewSwitchManipulatorosgGA.DeviceosgGA.DriveManipulatorosgGA.EventosgGA.EventHandlerosgGA.EventQueueosgGA.EventVisitorosgGA.FirstPersonManipulatorosgGA.FlightManipulatorosgGA.GUIActionAdapterosgGA.GUIEventAdapterosgGA.GUIEventHandlerosgGA.KeySwitchMatrixManipulatorosgGA.MultiTouchTrackballManipulatorosgGA.NodeTrackerManipulatorosgGA.OrbitManipulatorosgGA.PointerDataosgGA.SphericalManipulatorosgGA.StandardManipulatorosgGA.StateSetManipulatorosgGA.TerrainManipulatorosgGA.TrackballManipulatorosgGA.UFOManipulatorosgGA.WidgetosgManipulator.AntiSquishosgManipulator.CommandManagerosgManipulator.CompositeDraggerosgManipulator.ConstraintosgManipulator.CylinderPlaneProjectorosgManipulator.CylinderProjectorosgManipulator.DraggerosgManipulator.DraggerCallbackosgManipulator.DraggerTransformCallbackosgManipulator.GridConstraintosgManipulator.LineProjectorosgManipulator.MotionCommandosgManipulator.PlaneProjectorosgManipulator.PointerInfoosgManipulator.ProjectorosgManipulator.Rotate3DCommandosgManipulator.RotateCylinderDraggerosgManipulator.RotateSphereDraggerosgManipulator.Scale1DCommandosgManipulator.Scale1DDraggerosgManipulator.Scale2DCommandosgManipulator.Scale2DDraggerosgManipulator.ScaleAxisDraggerosgManipulator.ScaleUniformCommandosgManipulator.SpherePlaneProjectorosgManipulator.SphereProjectorosgManipulator.TabBoxDraggerosgManipulator.TabBoxTrackballDraggerosgManipulator.TabPlaneDraggerosgManipulator.TabPlaneTrackballDraggerosgManipulator.TrackballDraggerosgManipulator.Translate1DDraggerosgManipulator.Translate2DDraggerosgManipulator.TranslateAxisDraggerosgManipulator.TranslateInLineCommandosgManipulator.TranslateInPlaneCommandosgManipulator.TranslatePlaneDraggerosgParticle.AccelOperatorosgParticle.AngularAccelOperatorosgParticle.AngularDampingOperatorosgParticle.BounceOperatorosgParticle.BoxPlacerosgParticle.CenteredPlacerosgParticle.CompositePlacerosgParticle.ConnectedParticleSystemosgParticle.ConstantRateCounterosgParticle.CounterosgParticle.DampingOperatorosgParticle.DomainOperatorosgParticle.EmitterosgParticle.ExplosionDebrisEffectosgParticle.ExplosionEffectosgParticle.ExplosionOperatorosgParticle.FireEffectosgParticle.FluidFrictionOperatorosgParticle.FluidProgramosgParticle.ForceOperatorosgParticle.InterpolatorosgParticle.LinearInterpolatorosgParticle.ModularEmitterosgParticle.ModularProgramosgParticle.MultiSegmentPlacerosgParticle.OperatorosgParticle.OrbitOperatorosgParticle.ParticleosgParticle.ParticleEffectosgParticle.ParticleProcessorosgParticle.ParticleSystemosgParticle.ParticleSystemUpdaterosgParticle.PlacerosgParticle.PointPlacerosgParticle.PrecipitationEffectosgParticle.ProgramosgParticle.RadialShooterosgParticle.RandomRateCounterosgParticle.rangeosgParticle.SectorPlacerosgParticle.SegmentPlacerosgParticle.ShooterosgParticle.SinkOperatorosgParticle.SmokeEffectosgParticle.SmokeTrailEffectosgParticle.VariableRateCounterosgPresentation.ActiveOperatorsosgPresentation.AnimationMaterialosgPresentation.AnimationMaterialCallbackosgPresentation.CompileSlideCallbackosgPresentation.CursorosgPresentation.dereference_lessosgPresentation.FilePathDataosgPresentation.HomePositionosgPresentation.HUDSettingsosgPresentation.HUDTransformosgPresentation.ImageSequenceUpdateCallbackosgPresentation.JumpDataosgPresentation.KeyEventHandlerosgPresentation.KeyPositionosgPresentation.LayerAttributesosgPresentation.LayerCallbackosgPresentation.ObjectOperatorosgPresentation.PickEventHandlerosgPresentation.PropertyAnimationosgPresentation.PropertyEventCallbackosgPresentation.PropertyManagerosgPresentation.PropertyReaderosgPresentation.SlideEventHandlerosgPresentation.SlideShowConstructorosgPresentation.TimeoutosgShadow.ConvexPolyhedronosgShadow.DebugShadowMaposgShadow.LightSpacePerspectiveShadowMapAlgorithmosgShadow.LightSpacePerspectiveShadowMapCBosgShadow.LightSpacePerspectiveShadowMapDBosgShadow.LightSpacePerspectiveShadowMapVBosgShadow.MinimalCullBoundsShadowMaposgShadow.MinimalDrawBoundsShadowMaposgShadow.MinimalShadowMaposgShadow.ParallelSplitShadowMaposgShadow.ProjectionShadowMaposgShadow.ShadowedSceneosgShadow.ShadowMaposgShadow.ShadowSettingsosgShadow.ShadowTechniqueosgShadow.ShadowTextureosgShadow.SoftShadowMaposgShadow.StandardShadowMaposgShadow.ViewDependentShadowMaposgShadow.ViewDependentShadowTechniqueosgSim.AzimElevationSectorosgSim.AzimRangeosgSim.AzimSectorosgSim.BlinkSequenceosgSim.ColorRangeosgSim.ConeSectorosgSim.DatabaseCacheReadCallbackosgSim.DirectionalSectorosgSim.DOFTransformosgSim.ElevationRangeosgSim.ElevationSectorosgSim.ElevationSliceosgSim.GeographicLocationosgSim.HeightAboveTerrainosgSim.ImpostorosgSim.ImpostorSpriteosgSim.ImpostorSpriteManagerosgSim.InsertImpostorsVisitorosgSim.LightPointosgSim.LightPointNodeosgSim.LightPointSystemosgSim.LineOfSightosgSim.MultiSwitchosgSim.ObjectRecordDataosgSim.OverlayNodeosgSim.ScalarBarosgSim.ScalarsToColorsosgSim.SectorosgSim.SequenceGrouposgSim.ShapeAttributeosgSim.ShapeAttributeListosgSim.SphereSegmentosgSim.VisibilityGrouposgTerrain.CompositeLayerosgTerrain.ContourLayerosgTerrain.DisplacementMappingTechniqueosgTerrain.GeometryPoolosgTerrain.GeometryTechniqueosgTerrain.HeightFieldDrawableosgTerrain.HeightFieldLayerosgTerrain.ImageLayerosgTerrain.LayerosgTerrain.LocatorosgTerrain.NoDataValueosgTerrain.ProxyLayerosgTerrain.SharedGeometryosgTerrain.SwitchLayerosgTerrain.TerrainosgTerrain.TerrainNeighboursosgTerrain.TerrainTechniqueosgTerrain.TerrainTileosgTerrain.TileIDosgTerrain.ValidDataOperatorosgTerrain.ValidRangeosgTerrain.WhiteListTileLoadedCallbackosgText.BevelosgText.FadeTextosgText.FontosgText.GlyphosgText.Glyph3DosgText.GlyphGeometryosgText.GlyphTextureosgText.StringosgText.StyleosgText.TextosgText.Text3DosgText.TextBaseosgText.VectorUIntosgUI.AlignmentSettingsosgUI.CloseCallbackosgUI.ColorPaletteosgUI.ComboBoxosgUI.DialogosgUI.DoubleValidatorosgUI.DragCallbackosgUI.FrameSettingsosgUI.HandleCallbackosgUI.IntValidatorosgUI.ItemosgUI.LabelosgUI.LineEditosgUI.PopuposgUI.PushButtonosgUI.StyleosgUI.TabosgUI.TabWidgetosgUI.TextSettingsosgUI.ValidatorosgUI.WidgetosgUtil.AddRangeOperatorosgUtil.BaseOptimizerVisitorosgUtil.ConvertVecosgUtil.CubeMapGeneratorosgUtil.CullVisitorosgUtil.DelaunayConstraintosgUtil.DelaunayTriangulatorosgUtil.dereference_clearosgUtil.dereference_lessosgUtil.DisplayRequirementsVisitorosgUtil.DrawElementTypeSimplifierosgUtil.DrawElementTypeSimplifierVisitorosgUtil.EdgeCollectorosgUtil.GeometryCollectorosgUtil.GLObjectsOperationosgUtil.GLObjectsVisitorosgUtil.HalfWayMapGeneratorosgUtil.HighlightMapGeneratorosgUtil.IncrementalCompileOperationosgUtil.IndexMeshVisitorosgUtil.IntersectionVisitorosgUtil.IntersectorosgUtil.IntersectorGrouposgUtil.LessDepthSortFunctorosgUtil.LineSegmentIntersectorosgUtil.MultiplyRangeOperatorosgUtil.OperationArrayFunctorosgUtil.OptimizerosgUtil.PerlinNoiseosgUtil.PlaneIntersectorosgUtil.PolytopeIntersectorosgUtil.PositionalStateContainerosgUtil.PrintVisitorosgUtil.RayIntersectorosgUtil.ReflectionMapGeneratorosgUtil.RenderBinosgUtil.RenderLeafosgUtil.RenderStageosgUtil.ReversePrimitiveFunctorosgUtil.SceneGraphBuilderosgUtil.SceneViewosgUtil.ShaderGenVisitorosgUtil.SharedArrayOptimizerosgUtil.SimplifierosgUtil.SmoothingVisitorosgUtil.StateGraphosgUtil.StateToCompileosgUtil.StatisticsosgUtil.StatsVisitorosgUtil.TangentSpaceGeneratorosgUtil.TessellatorosgUtil.TransformAttributeFunctorosgUtil.TransformCallbackosgUtil.UpdateVisitorosgUtil.VertexAccessOrderVisitorosgUtil.VertexCacheMissVisitorosgUtil.VertexCacheVisitorosgViewer.WGLosgViewer.AcrossAllScreensosgViewer.CompositeViewerosgViewer.DepthPartitionSettingsosgViewer.GraphicsHandleCarbonosgViewer.GraphicsHandleCocoaosgViewer.GraphicsHandleWin32osgViewer.GraphicsHandleX11osgViewer.GraphicsWindowosgViewer.GraphicsWindowEmbeddedosgViewer.GraphicsWindowFunctionProxyosgViewer.GraphicsWindowWin32osgViewer.GraphicsWindowX11osgViewer.HelpHandlerosgViewer.InteractiveImageHandlerosgViewer.KeystoneosgViewer.KeystoneHandlerosgViewer.LODScaleHandlerosgViewer.OpenGLQuerySupportosgViewer.PanoramicSphericalDisplayosgViewer.PixelBufferWin32osgViewer.PixelBufferX11osgViewer.RecordCameraPathHandlerosgViewer.RendererosgViewer.SceneosgViewer.ScreenCaptureHandlerosgViewer.SingleScreenosgViewer.SingleWindowosgViewer.SphericalDisplayosgViewer.StatsHandlerosgViewer.ThreadingHandlerosgViewer.ToggleSyncToVBlankHandlerosgViewer.ViewosgViewer.ViewConfigosgViewer.ViewerosgViewer.ViewerBaseosgViewer.WindowSizeHandlerosgViewer.WoWVxDisplayosgViewer.XGLAttributesosgVolume.AlphaFuncPropertyosgVolume.CollectPropertiesVisitorosgVolume.CompositeLayerosgVolume.CompositePropertyosgVolume.ExteriorTransparencyFactorPropertyosgVolume.FixedFunctionTechniqueosgVolume.ImageDetailsosgVolume.ImageLayerosgVolume.IsoSurfacePropertyosgVolume.LayerosgVolume.LightingPropertyosgVolume.LocatorosgVolume.MaximumIntensityProjectionPropertyosgVolume.MultipassTechniqueosgVolume.PropertyosgVolume.PropertyAdjustmentCallbackosgVolume.PropertyVisitorosgVolume.RayTracedTechniqueosgVolume.SampleDensityPropertyosgVolume.SampleDensityWhenMovingPropertyosgVolume.SampleRatioPropertyosgVolume.SampleRatioWhenMovingPropertyosgVolume.ScalarPropertyosgVolume.SwitchPropertyosgVolume.TexGenLocatorCallbackosgVolume.TileDataosgVolume.TileIDosgVolume.TransferFunctionPropertyosgVolume.TransformLocatorCallbackosgVolume.TransparencyPropertyosgVolume.VolumeosgVolume.VolumeSceneosgVolume.VolumeSettingsosgVolume.VolumeTechniqueosgVolume.VolumeTileosgWidget.BoxosgWidget.BrowserosgWidget.BrowserImageosgWidget.BrowserManagerosgWidget.CallbackosgWidget.CallbackInterfaceosgWidget.CameraSwitchHandlerosgWidget.CanvasosgWidget.EventosgWidget.EventInterfaceosgWidget.FrameosgWidget.FunctionCallbackosgWidget.GeometryHintsosgWidget.InputosgWidget.KeyboardHandlerosgWidget.LabelosgWidget.LuaEngineosgWidget.MouseHandlerosgWidget.NotifyWidgetosgWidget.NullWidgetosgWidget.ObjectCallbackosgWidget.PdfImageosgWidget.PdfReaderosgWidget.PythonEngineosgWidget.ResizeHandlerosgWidget.ScriptEngineosgWidget.StyleosgWidget.StyleInterfaceosgWidget.StyleManagerosgWidget.TableosgWidget.UIObjectParentosgWidget.VncClientosgWidget.VncImageosgWidget.WidgetosgWidget.WindowosgWidget.WindowManagerOpenThreads.AffinityOpenThreads.AtomicOpenThreads.AtomicPtrOpenThreads.BarrierOpenThreads.BlockOpenThreads.BlockCountOpenThreads.ConditionOpenThreads.MutexOpenThreads.ReadWriteMutexOpenThreads.ReentrantMutexOpenThreads.ReverseScopedLockOpenThreads.ReverseScopedPointerLockOpenThreads.ScopedLockOpenThreads.ScopedPointerLockOpenThreads.ScopedReadLockOpenThreads.ScopedWriteLockOpenThreads.Thread

osgWidget.ScriptEngine

osgWidget.ScriptEngine是OpenSceneGraph的一个组成部分,它提供了一种可编程的方式来扩展osgWidget库。

概述

osgWidget是OpenSceneGraph库中的一个模块,它提供了一个用于创建2D用户界面(UI)的框架。osgWidget支持各种标准UI组件,例如按钮、文本框和滚动条等,并且可以定制主题和布局。

osgWidget.ScriptEngine是osgWidget的一部分,它允许用户通过编程的方式对osgWidget进行自定义。它使用了Python作为脚本语言,让用户可以通过Python脚本创建自定义的UI组件和布局。

osgWidget.ScriptEngine的主要功能包括:

  • 定义自定义UI组件;
  • 定义自定义布局;
  • 集成用户定义的Python代码。

安装

osgWidget.ScriptEngine是OpenSceneGraph的一部分,因此它随着OpenSceneGraph库的安装而自动安装。

要使用osgWidget.ScriptEngine,您需要安装Python。osgWidget.ScriptEngine支持Python 2.7和Python 3.x版本。

快速上手

要使用osgWidget.ScriptEngine,您需要创建一个ScriptEngine对象,然后将其与您的osgWidget场景图一起使用。 ScriptEngine对象的主要任务是在运行时执行用户提供的Python脚本,并从中定义新的UI组件和布局。

在以下示例中,我们将介绍如何定义一个简单的“Hello World” UI组件:

# 导入必要的库
from osgWidget import *

# 创建ScriptEngine对象
script_engine = ScriptEngine()

# 定义一个新的UI组件
class HelloWorld(Component):
    def __init__(self, name):
        Component.__init__(self, name)
        self.text = "Hello World!"
    
    def handleResize(self, width, height):
        # 组件大小发生变化时调用此方法
        self.width = width
        self.height = height
    
    def draw(self, context):
        # 渲染UI组件时调用此方法
        gc = context.gc
        gc.setColor(1,1,1,1)
        gc.drawText(0,0,self.text)

# 将新的UI组件注册到ScriptEngine
script_engine.addCustomComponent("HelloWorld", HelloWorld)

# 创建osgWidget场景图
root = createExampleScene()

# 创建一个新的HelloWorld组件
hello_world = script_engine.create("HelloWorld")

# 将HelloWorld组件添加到场景图
root.addChild(hello_world)

# 运行场景图
Viewer().run()

在这个示例中,我们首先导入了必要的库,然后创建了一个ScriptEngine对象。接下来,我们定义了一个名为“HelloWorld”的新的UI组件,在其中包含一个简单的带有“Hello World!”文本的标签。然后,我们将新的UI组件注册到ScriptEngine中,并创建并添加它到场景图中。

最后,我们将场景图传递给osgwViewer对象,并运行它。

API文档

ScriptEngine类

ScriptEngine类是osgWidget.ScriptEngine的主要类。它提供了以下几个方法:

addCustomComponent(name, component)

将自定义的UI组件添加到ScriptEngine中。参数name为组件名称,参数component为自定义UI组件的类对象。

script_engine.addCustomComponent("MyComponent", MyComponent)

addCustomLayout(name, layout)

将自定义UI布局添加到ScriptEngine中。参数name为布局名称,参数layout为自定义UI布局的类对象。

script_engine.addCustomLayout("MyLayout", MyLayout)

setPythonCode(code)

设置要在运行时执行的Python代码。

script_engine.setPythonCode("MyComponent = Component")

create(name)

创建指定名称的UI组件。返回值为新创建的UI组件对象。

my_component = script_engine.create("MyComponent")

自定义UI组件

自定义UI组件是使用osgWidget.ScriptEngine的主要功能之一。osgWidget库中有一些标准的UI组件,例如按钮、文本框和滚动条等,但是您可能需要创建基于特殊需求的不同类型的UI组件。

要定义自定义UI组件,您可以创建一个继承自Component类的新类,然后重写它的方法以实现自定义行为。

下面是一个例子:

# 继承自Component类,创建一个新的自定义UI组件
class MyComponent(Component):
    def __init__(self, name):
        Component.__init__(self, name)
        self.text = "My Component"
    
    def handleResize(self, width, height):
        # 组件大小发生变化时调用此方法
        self.width = width
        self.height = height
    
    def draw(self, context):
        # 渲染UI组件时调用此方法
        gc = context.gc
        gc.setColor(1,1,1,1)
        gc.drawText(0,0,self.text)

在这个示例中,我们创建了一个名为“MyComponent”的新类,并继承了Component类。我们重写了handleResize()和draw()方法,以处理组件大小调整和渲染。

注意,在自定义UI组件中,您可以访问以下对象:

  • self.widthself.height:组件的宽度和高度;
  • context:一个Context对象,它是绘图上下文,您可以使用它来渲染UI组件。

要在ScriptEngine中注册和使用自定义UI组件,请使用ScriptEngine的addCustomComponent()方法:

script_engine.addCustomComponent("MyComponent", MyComponent)

然后,您可以使用create()方法来创建UI组件:

my_component = script_engine.create("MyComponent")

自定义布局

自定义布局是osgWidget的另一个重要功能。osgWidget库中有一些标准布局,例如Box和Grid布局,但是您可能需要创建更具体的布局,以满足特定需求。

要定义自定义布局,您可以创建一个继承自Layout类的新类,然后重写它的方法以实现自定义行为。

下面是一个例子:

# 继承自Layout类,创建一个新的自定义布局
class MyLayout(Layout):
    def __init__(self, name):
        Layout.__init__(self, name)
        self.spacing = 5
        self.padding = 10
    
    def handleResize(self, width, height):
        # 布局大小发生变化时调用此方法
        self.width = width
        self.height = height
    
    def calculateMinimumSize(self):
        # 计算布局的最小尺寸
        minWidth, minHeight = 0, 0
        for child in self.children:
            w, h = child.minimumSize()
            minWidth += w + self.spacing
            minHeight += h + self.spacing
        if self.children:
            minWidth -= self.spacing
            minHeight -= self.spacing
        minWidth += 2 * self.padding
        minHeight += 2 * self.padding
        return minWidth, minHeight
    
    def performLayout(self):
        # 执行布局
        x, y = self.padding, self.padding
        for child in self.children:
            child.setPosition(x, y)
            child.layout()
            x += child.width + self.spacing

在这个示例中,我们创建了一个名为“MyLayout”的新类,并继承了Layout类。我们重写了calculateMinimumSize()和performLayout()方法,以计算布局的最小大小和执行布局。

注意,在自定义布局中,您可以访问以下对象:

  • self.widthself.height:布局的宽度和高度;
  • self.children:一个子组件列表,它包含要放置在该布局中的所有子组件。

要在ScriptEngine中注册和使用自定义布局,请使用ScriptEngine的addCustomLayout()方法:

script_engine.addCustomLayout("MyLayout", MyLayout)

然后,您可以使用create()方法来创建布局:

my_layout = script_engine.create("MyLayout")

执行Python脚本

osgWidget.ScriptEngine允许您在运行时执行Python脚本,以实现更复杂的自定义UI组件和布局。

要执行Python脚本,请使用ScriptEngine的setPythonCode()方法:

script_engine.setPythonCode("MyComponent = Component")

在这个示例中,我们将一段简单的Python代码作为脚本传递给ScriptEngine对象,以定义一个名为“MyComponent”的自定义UI组件类。

注意,在Python脚本中,您可以访问以下对象:

  • self:ScriptEngine对象;
  • Component:标准UI组件类;
  • Layout:标准布局类;
  • context:绘图上下文。

结论

osgWidget.ScriptEngine是OpenSceneGraph的强大功能之一,它使用户可以通过Python脚本创建自定义UI组件和布局。该功能可大大简化UI组件的开发流程,并可以将OpenSceneGraph的功能扩展到新的水平。