Example #1
0
 public ViewElm Read(BinaryReader br)
 {
     // read each field
     Ehdr               = new Elm_hdr().Read(br);
     ComponentCount     = br.ReadUInt32();
     Dummy1             = br.ReadUInt32();
     RMatrix            = new RotMatrix().Read(br);
     ViewportGlobalRect = new DRectangle().Read(br);
     Origin             = new DPoint3d().Read(br);
     Delta              = new DPoint3d().Read(br);
     Y = new double[5];
     for (int i = 0; i < 5; i++)
     {
         Y[i] = br.ReadDouble();
     }
     ActiveZ    = br.ReadDouble();
     PixelRect  = new SRectangle().Read(br);
     Flags      = new ViewFlags().Read(br);
     Dummy4     = br.ReadUInt32();
     ViewNumber = br.ReadUInt32();
     ModelId    = br.ReadUInt32();
     Z          = new UInt32[8];
     for (int i = 0; i < 8; i++)
     {
         Z[i] = br.ReadUInt32();
     }
     Linkages    = V8Linkages.V8GetLinkages(br, Ehdr);
     Name        = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Name);
     Description = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Description);
     return(this);
 }
Example #2
0
 /// <summary>
 /// Initializes this view with default options.
 /// </summary>
 public void Init()
 {
     MaxShadowsQuality            = Quality.Ultra;
     ModelLODDistanceFactor       = 1.0f;
     ShadowModelLODDistanceFactor = 1.0f;
     Flags = ViewFlags.DefaultGame;
     Mode  = ViewMode.Default;
 }
Example #3
0
        public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext)
        {
            base.CopyFrom(from, cloneContext);
            DxfView dxfView = (DxfView)from;

            this.string_0           = dxfView.string_0;
            this.viewFlags_0        = dxfView.viewFlags_0;
            this.point2D_0          = dxfView.point2D_0;
            this.size2D_0           = dxfView.size2D_0;
            this.vector3D_0         = dxfView.vector3D_0;
            this.point3D_0          = dxfView.point3D_0;
            this.double_0           = dxfView.double_0;
            this.double_1           = dxfView.double_1;
            this.double_2           = dxfView.double_2;
            this.double_3           = dxfView.double_3;
            this.ViewMode           = dxfView.viewMode_0;
            this.renderMode_0       = dxfView.renderMode_0;
            this.bool_0             = dxfView.bool_0;
            this.Ucs                = Class906.smethod_2(cloneContext, dxfView.Ucs);
            this.orthographicType_0 = dxfView.orthographicType_0;
        }
Example #4
0
 protected void SetViewFlags(ViewFlags viewFlags, bool setFlag)
 {
     throw new NotImplementedException();
 }
Example #5
0
        public void DrawScene(RenderTask task, RenderTarget output, RenderBuffers buffers, RenderView view, ViewFlags flags, ViewMode mode, Actor[] customActors = null, ActorsSources actorsSource = ActorsSources.ScenesAndCustomActors, HashSet <PostProcessEffect> customPostFx = null)
        {
#if UNIT_TEST_COMPILANT
            throw new NotImplementedException("Unit tests, don't support methods calls. Only properties can be get or set.");
#else
            // Get unmanaged actors
            IntPtr[] actors = null;
            if (customActors != null)
            {
                actors = new IntPtr[customActors.Length];
                for (int i = 0; i < customActors.Length; i++)
                {
                    actors[i] = GetUnmanagedPtr(customActors[i]);
                }
            }

            // Get unmanaged postFx
            IntPtr[] postFx = null;
            if (customPostFx != null)
            {
                var postFxList = new List <IntPtr>(customPostFx.Count);
                foreach (var e in customPostFx)
                {
                    if (e && e.CanRender)
                    {
                        postFxList.Add(e.unmanagedPtr);
                    }
                }

                if (postFxList.Count > 0)
                {
                    postFx = postFxList.ToArray();
                }
            }

            Internal_DrawScene(unmanagedPtr, GetUnmanagedPtr(task), GetUnmanagedPtr(output), GetUnmanagedPtr(buffers), ref view, flags, mode, actors, actorsSource, postFx);
#endif
        }
Example #6
0
 internal static extern void Internal_DrawScene(IntPtr obj, IntPtr task, IntPtr output, IntPtr buffers, ref RenderView view, ViewFlags flags, ViewMode mode, IntPtr[] customActors, ActorsSources actorsSource, IntPtr[] customPostFx);
Example #7
0
        public void DrawScene(RenderTask task, RenderTarget output, RenderBuffers buffers, ref RenderView view, ViewFlags flags, ViewMode mode, List <Actor> customActors = null, ActorsSources actorsSource = ActorsSources.ScenesAndCustomActors, HashSet <PostProcessEffect> customPostFx = null)
        {
#if UNIT_TEST_COMPILANT
            throw new NotImplementedException("Unit tests, don't support methods calls. Only properties can be get or set.");
#else
            // Get unmanaged actors
            var actors = GetActors(customActors, out int actorsCount);

            // Get unmanaged postFx
            var postFx = GetPostFx(customPostFx, out int postFxCount);

            Internal_DrawScene(unmanagedPtr, GetUnmanagedPtr(task), GetUnmanagedPtr(output), GetUnmanagedPtr(buffers), ref view, flags, mode, actors, actorsCount, actorsSource, postFx, postFxCount);
#endif
        }
Example #8
0
		protected void SetViewFlags (ViewFlags viewFlags, bool setFlag)
		{
			throw new NotImplementedException ();
		}
 protected void SetViewFlags(ViewFlags viewFlags, bool setFlag)
 {
     if (this.View != null)
     {
         this.View.SetFlags(viewFlags, setFlag);
     }
 }
Example #10
0
        public void DrawScene(RenderTask task, RenderTarget output, RenderBuffers buffers, RenderView view, ViewFlags flags, ViewMode mode, Actor[] customActors = null, ActorsSources actorsSource = ActorsSources.ScenesAndCustomActors, HashSet <PostProcessEffect> customPostFx = null)
        {
#if UNIT_TEST_COMPILANT
            throw new NotImplementedException("Unit tests, don't support methods calls. Only properties can be get or set.");
#else
            // Get unmanaged actors
            IntPtr[] actors      = null;
            int      actorsCount = 0;
            if (customActors != null)
            {
                actorsCount = customActors.Length;
                if (_cachedActors == null || _cachedActors.Length < actorsCount)
                {
                    _cachedActors = new IntPtr[Mathf.NextPowerOfTwo(actorsCount)];
                }
                actors = _cachedActors;

                for (int i = 0; i < actorsCount; i++)
                {
                    _cachedActors[i] = GetUnmanagedPtr(customActors[i]);
                }
            }

            // Get unmanaged postFx
            IntPtr[] postFx      = null;
            int      postFxCount = 0;
            if (customPostFx != null && customPostFx.Count > 0)
            {
                if (_cachedPostFxA == null)
                {
                    _cachedPostFxA = new List <PostProcessEffect>();
                }
                _cachedPostFxA.Capacity = Mathf.Max(_cachedPostFxA.Capacity, Mathf.NextPowerOfTwo(customPostFx.Count));

                foreach (var e in customPostFx)
                {
                    if (e && e.CanRender)
                    {
                        _cachedPostFxA.Add(e);
                    }
                }

                _cachedPostFxA.Sort(ComparePostFx);

                postFxCount = _cachedPostFxA.Count;
                if (_cachedPostFxB == null || _cachedPostFxB.Length < postFxCount)
                {
                    _cachedPostFxB = new IntPtr[_cachedPostFxA.Capacity];
                }
                postFx = _cachedPostFxB;

                for (int i = 0; i < postFxCount; i++)
                {
                    _cachedPostFxB[i] = GetUnmanagedPtr(_cachedPostFxA[i]);
                }

                _cachedPostFxA.Clear();
            }

            Internal_DrawScene(unmanagedPtr, GetUnmanagedPtr(task), GetUnmanagedPtr(output), GetUnmanagedPtr(buffers), ref view, flags, mode, actors, actorsCount, actorsSource, postFx, postFxCount);
#endif
        }