コード例 #1
0
ファイル: PackedAppearance.cs プロジェクト: kf6kjg/halcyon
        internal AvatarAppearance ToAppearance(OpenMetaverse.UUID owner)
        {
            AvatarAppearance app =
                new AvatarAppearance
                {
                    Owner = owner,
                    Serial = this.Serial,
                    VisualParams = this.VisualParams
                };

            List<AvatarWearable> wearables = new List<AvatarWearable>();

            for (int i = 0; i < AvatarWearable.MAX_WEARABLES && i < this.Wearables.Length; i++)
            {
                OpenMetaverse.UUID itemID = new OpenMetaverse.UUID(this.Wearables[i].ItemId);
                OpenMetaverse.UUID assetID = new OpenMetaverse.UUID(this.Wearables[i].AssetId);

                wearables.Add(new AvatarWearable(i, itemID, assetID));
            }

            app.SetWearables(wearables);

            var te = new OpenMetaverse.Primitive.TextureEntry(this.TextureEntry, 0, this.TextureEntry.Length);
            app.SetTextureEntries(te);

            app.SetHeight();

            return app;
        }
コード例 #2
0
 public string MapGroup(OpenMetaverse.UUID group)
 {
     return(asyncMapper.MapGroup(group).WaitOrDefault(TIMEOUT));
 }
コード例 #3
0
 public void RemoveEvents(uint p, OpenMetaverse.UUID m_itemID)
 {
     //TODO: Does nothing yet. No provisions in http module to remove requests
 }
コード例 #4
0
 public string GetCapsPath(OpenMetaverse.UUID agentId)
 {
     return(agentId.ToString());
 }
コード例 #5
0
 public void SetChildrenSeed(OpenMetaverse.UUID agentID, Dictionary <ulong, string> seeds)
 {
 }
コード例 #6
0
 public Dictionary <ulong, string> GetChildrenSeeds(OpenMetaverse.UUID agentID)
 {
     return(null);
 }
コード例 #7
0
 public void RemoveCaps(OpenMetaverse.UUID agentId)
 {
 }
コード例 #8
0
 public UUID_1(Lexer yym):base(yym)  { val = new OpenMetaverse.UUID(yytext); }}
コード例 #9
0
 public void SendObjectPropertiesReply(OpenMetaverse.UUID ItemID, ulong CreationDate, OpenMetaverse.UUID CreatorUUID, OpenMetaverse.UUID FolderUUID, OpenMetaverse.UUID FromTaskUUID, OpenMetaverse.UUID GroupUUID, short InventorySerial, OpenMetaverse.UUID LastOwnerUUID, OpenMetaverse.UUID ObjectUUID, OpenMetaverse.UUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle, string ItemName, string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask, uint EveryoneMask, uint BaseMask, uint FoldedOwnerMask, uint FoldedNextOwnerMask, byte saleType, int salePrice)
 {
 }
コード例 #10
0
 public void SendObjectPropertiesFamilyData(uint RequestFlags, OpenMetaverse.UUID ObjectUUID, OpenMetaverse.UUID OwnerID, OpenMetaverse.UUID GroupID, uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask, uint NextOwnerMask, int OwnershipCost, byte SaleType, int SalePrice, uint Category, OpenMetaverse.UUID LastOwnerID, string ObjectName, string Description)
 {
 }
コード例 #11
0
 public void SendImageNotFound(OpenMetaverse.UUID imageid)
 {
 }
コード例 #12
0
 public void SendImageNextPart(ushort partNumber, OpenMetaverse.UUID imageUuid, byte[] imageData)
 {
 }
コード例 #13
0
 public void SendImageFirstPart(ushort numParts, OpenMetaverse.UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec)
 {
 }
コード例 #14
0
 public void SendXferRequest(ulong XferID, short AssetType, OpenMetaverse.UUID vFileID, byte FilePath, byte[] FileName)
 {
 }
コード例 #15
0
 public  ExpUUID (Parser yyp, OpenMetaverse . UUID  val ):base(((PCParser
)yyp)){ this . val = val ;
}
コード例 #16
0
 public void SendBlueBoxMessage(OpenMetaverse.UUID FromAvatarID, string FromAvatarName, string Message)
 {
 }
コード例 #17
0
 public void SendSitResponse(OpenMetaverse.UUID TargetID, OpenMetaverse.Vector3 OffsetPos, OpenMetaverse.Quaternion SitOrientation, bool autopilot, OpenMetaverse.Vector3 CameraAtOffset, OpenMetaverse.Vector3 CameraEyeOffset, bool ForceMouseLook)
 {
 }
コード例 #18
0
 public void SendAdminResponse(OpenMetaverse.UUID Token, uint AdminLevel)
 {
 }
コード例 #19
0
 public ICapsControl CreateCaps(OpenMetaverse.UUID agentId, string path)
 {
     return(new MockCapsControl());
 }
コード例 #20
0
 public void SendGroupNameReply(OpenMetaverse.UUID groupLLUID, string GroupName)
 {
 }
コード例 #21
0
 public OpenSim.Framework.Communications.Capabilities.Caps GetCapsForUser(OpenMetaverse.UUID agentId)
 {
     return(null);
 }
コード例 #22
0
 public void SendEjectGroupMemberReply(OpenMetaverse.UUID agentID, OpenMetaverse.UUID groupID, bool success)
 {
 }
コード例 #23
0
 public string GetChildSeed(OpenMetaverse.UUID agentID, ulong handle)
 {
     return(null);
 }
コード例 #24
0
 public void SendLeaveGroupReply(OpenMetaverse.UUID groupID, bool success)
 {
 }
コード例 #25
0
 public void DropChildSeed(OpenMetaverse.UUID agentID, ulong handle)
 {
 }
コード例 #26
0
 public void SendCreateGroupReply(OpenMetaverse.UUID groupID, bool success, string message)
 {
 }
コード例 #27
0
        private AssetBase GetAssetInternal(OpenMetaverse.UUID assetID)
        {
            //cache?
            Cache.CacheEntry cacheObject = null;
            lock (_assetCache)
            {
                _assetCache.TryGetAsset(assetID, out cacheObject);
            }

            StratusAsset rawAsset = null;

            if (cacheObject != null)
            {
                //stream cache or asset cache?
                if (cacheObject.FullAsset != null)
                {
                    rawAsset = cacheObject.FullAsset;
                }
                else
                {
                    using (System.IO.MemoryStream stream = new System.IO.MemoryStream(cacheObject.Data, 0, cacheObject.Size))
                    {
                        rawAsset = DeserializeAssetFromStream(assetID, stream);
                    }
                }
            }
            else
            {
                StratusAsset diskAsset = null;
                if (!Config.Settings.Instance.DisableWritebackCache)
                {
                    diskAsset = _diskWriteBack.GetAsset(assetID.Guid);
                }

                if (diskAsset != null)
                {
                    rawAsset = diskAsset;
                }
                else
                {
                    Util.Retry(2, new List <Type> {
                        typeof(UnrecoverableAssetServerException)
                    }, () =>
                    {
                        CloudFilesAssetWorker worker = null;
                        try
                        {
                            try
                            {
                                //nothing on the local disk, request from CF
                                worker = _asyncAssetWorkers.LeaseObject();
                            }
                            catch (Exception e)
                            {
                                //exception here is unrecoverable since this is construction
                                throw new UnrecoverableAssetServerException(e.Message, e);
                            }

                            using (System.IO.MemoryStream stream = worker.GetAsset(assetID))
                            {
                                stream.Position = 0;
                                rawAsset        = DeserializeAssetFromStream(assetID, stream);


                                //if we're using the cache, we need to put the raw data in there now
                                stream.Position = 0;
                                this.CacheAssetIfAppropriate(assetID, stream, rawAsset);
                            }
                        }
                        catch (net.openstack.Core.Exceptions.Response.ItemNotFoundException)
                        {
                            //not an exceptional case. this will happen
                            rawAsset = null;
                        }
                        finally
                        {
                            if (worker != null)
                            {
                                _asyncAssetWorkers.ReturnObject(worker);
                            }
                        }
                    });
                }
            }


            //nothing?
            if (rawAsset == null)
            {
                return(null);
            }

            //convert
            return(rawAsset.ToAssetBase());
        }
コード例 #28
0
 public void SendScriptRunningReply(OpenMetaverse.UUID objectID, OpenMetaverse.UUID itemID, bool running)
 {
 }
コード例 #29
0
 public MappedIdentity MapObject(OpenMetaverse.UUID SlId, string SlName = null)
 {
     return(asyncMapper.MapObject(SlId, SlName).WaitOrDefault(TIMEOUT));
 }
コード例 #30
0
 public void RequestAsset(OpenMetaverse.UUID assetID, AssetRequestInfo args)
 {
     _firstReadServer.RequestAsset(assetID, args);
 }
コード例 #31
0
ファイル: Adapter.cs プロジェクト: 3di/3di-viewer-rei-api
        public string CallGetUserAvatarUUID()
        {
            string uuid = new OpenMetaverse.UUID().ToString();
            if (reference.Viewer.AvatarManager.UserObject != null)
                uuid = reference.Viewer.AvatarManager.UserObject._3DiIrrfileUUID.ToString();

            return uuid;
        }
コード例 #32
0
 //see IAssetReceiver
 public void AssetNotFound(OpenMetaverse.UUID assetID, AssetRequestInfo data)
 {
     this.HandleAssetCallback(assetID, data, null);
 }
コード例 #33
0
 public void SendSetFollowCamProperties(OpenMetaverse.UUID objectID, Dictionary <int, float> parameters)
 {
 }
コード例 #34
0
 public void AssetError(OpenMetaverse.UUID assetID, Exception error, AssetRequestInfo data)
 {
     m_log.ErrorFormat("[InWorldz.Stratus]: Error while requesting asset {0}: {1}", assetID, error);
     this.HandleAssetCallback(assetID, data, error);
 }
コード例 #35
0
ファイル: PhysxScene.cs プロジェクト: kf6kjg/halcyon
        public override void Initialize(IMesher meshmerizer, Nini.Config.IConfigSource config, OpenMetaverse.UUID regionId)
        {
            _regionId = regionId;
            _mesher = meshmerizer;

            m_log.Info("[InWorldz.PhysxPhysics] Creating PhysX scene");

            if (config.Configs["InWorldz.PhysxPhysics"] != null)
            {
                Settings.Instance.UseVisualDebugger = config.Configs["InWorldz.PhysxPhysics"].GetBoolean("use_visual_debugger", false);
                Settings.Instance.UseCCD = config.Configs["InWorldz.PhysxPhysics"].GetBoolean("use_ccd", true);
                Settings.Instance.Gravity = config.Configs["InWorldz.PhysxPhysics"].GetFloat("gravity", -9.8f);
                Settings.Instance.ThrowOnSdkError = config.Configs["InWorldz.PhysxPhysics"].GetBoolean("throw_on_sdk_error", false);
                Settings.Instance.InstrumentMeshing = config.Configs["InWorldz.PhysxPhysics"].GetBoolean("instrument_meshing", false);
            }
            else
            {
                Settings.Instance.UseVisualDebugger = false;
                Settings.Instance.UseCCD = true;
                Settings.Instance.Gravity = -9.8f;
                Settings.Instance.ThrowOnSdkError = false;
                Settings.Instance.InstrumentMeshing = false;
            }

            Nini.Config.IConfig startupcfg = config.Configs["Startup"];
            if (startupcfg != null)
                _gridmode = startupcfg.GetBoolean("gridmode", false);

            if (_foundation == null)
            {
                _foundation = new PhysX.Foundation(s_ErrorCallback);
                _physics = new PhysX.Physics(_foundation);

                Material.BuiltinMaterialInit(_physics);
            }

            _sceneDesc = new PhysX.SceneDesc(null, Settings.Instance.UseCCD);
            _sceneDesc.Gravity = new PhysX.Math.Vector3(0f, 0f, Settings.Instance.Gravity);


            _simEventDelegator = new SimulationEventCallbackDelegator();
            _simEventDelegator.OnContactCallback += this.OnContact;
            _simEventDelegator.OnTriggerCallback += this.OnTrigger;
            _sceneDesc.SimulationEventCallback = _simEventDelegator;

            _scene = _physics.CreateScene(_sceneDesc);
            Preload();

            if (Settings.Instance.UseCCD)
            {
                _scene.SetFlag(PhysX.SceneFlag.SweptIntegration, true);
            }

            if (Settings.Instance.UseVisualDebugger && _physics.RemoteDebugger != null)
            {
                _physics.RemoteDebugger.Connect("localhost", null, null, PhysX.VisualDebugger.VisualDebuggerConnectionFlag.Debug, null);
            }

            _controllerManager = _scene.CreateControllerManager();

            CreateDefaults();

            _terrainMesher = new Meshing.TerrainMesher(_scene);
            _terrainMgr = new TerrainManager(_scene, _terrainMesher, regionId);
            _meshingStage = new Meshing.MeshingStage(_scene, meshmerizer, _terrainMesher);
            _meshingStage.OnShapeNeedsFreeing += new Meshing.MeshingStage.ShapeNeedsFreeingDelegate(_meshingStage_OnShapeNeedsFreeing);

            _kinematicManager = new KinematicManager();

            //fire up our work loop
            HeartbeatThread = Watchdog.StartThread(new ThreadStart(Heartbeat), "Physics Heartbeat",
                ThreadPriority.Normal, false);

            TimingThread = Watchdog.StartThread(new ThreadStart(DoTiming), string.Format("Physics Timing"),
                ThreadPriority.Highest, false);
        }
コード例 #36
0
ファイル: TalkingContextMenu.cs プロジェクト: Booser/radegast
        /// <summary>
        /// Announce the opening of a context menu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnContentMenuOpened(object sender, RadegastContextMenuStrip.ContextMenuEventArgs e)
        {
            lock (e.Menu)
            {
                menuStrip = e.Menu;
                menuFor = string.Empty;
                id = OpenMetaverse.UUID.Zero;

                // Figure out what this menu applies to.
                if (menuStrip.Selection is string)
                {
                    menuFor = (string)menuStrip.Selection;
                }
                else if (menuStrip.Selection is ListViewItem)
                {
                    ListViewItem lv = menuStrip.Selection as ListViewItem;
                    menuFor = lv.Text;
                }
                else if (menuStrip.Selection is OpenMetaverse.InventoryItem)
                {
                    // Something in Inventory.
                    menuFor = ((OpenMetaverse.InventoryItem)(menuStrip.Selection)).Name;
                }
                else if (menuStrip.Selection is OpenMetaverse.FriendInfo)
                {
                    // A Friend.
                    OpenMetaverse.FriendInfo f = menuStrip.Selection as OpenMetaverse.FriendInfo;
                    menuFor = f.Name;
                }
                else if (menuStrip.Selection is OpenMetaverse.Primitive)
                {
                    // Something in the Objects list.
                    OpenMetaverse.Primitive p = menuStrip.Selection as OpenMetaverse.Primitive;
                    if (p.Properties != null)
                        menuFor = p.Properties.Name;
                    else
                        menuFor = "Loading object";
                }

                // Remove parenthesized distance, etc
                int lParen = menuFor.IndexOf('(');
                if (lParen > 0)
                    menuFor = menuFor.Substring(0, lParen);

                // Stop reading old choices if moving fast.
                control.talker.Flush();
                control.talker.SayMore(menuFor + " menu.", Talk.BeepType.Open);
            }
        }