CFx SDK Documentation  2022 SP0
GfxCache.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef _CLOUDGFXCACHE_INCLUDED_
25 #define _CLOUDGFXCACHE_INCLUDED_ /* { Secret } */
26 
27 #include "RxModule.h"
28 #include "Gs/Gs.h"
29 #include "MemoryStream.h"
30 #include "StringArray.h"
31 #include "Tf/TfIO.h"
32 
33 #include "TD_PackPush.h"
34 
35 class CloudGfxCache;
37 
38 
39 class CloudGfxCache : public OdTfStorage {
40 public:
41  class LayoutData;
43  class VectorizerCtx;
45 
46  virtual OdStringArray layoutNames() = 0;
47  virtual LayoutDataPtr layoutData(const OdString& name) = 0;
48 
49  class LayoutData : public OdRxObject {
50  public:
51  virtual OdStreamBufPtr readState() = 0;
53  virtual void putState(OdStreamBuf* buf) = 0;
54 
56 
57  virtual void delGfx(const OdUInt64 handle) = 0;
58  };
59 
60  class VectorizerCtx : public OdRxObject {
61  public:
62  virtual void setViewCtx(const OdGsView& view, double simplfTol, double sewTol) = 0;
63  virtual OdStreamBufPtr newGfxBuf(const OdUInt64 handle) { return OdStreamBufPtr(); };
64  virtual void putGfx(const OdUInt64 handle, OdStreamBuf& gfxData,
65  const OdUInt32 awareFlags, const OdGeExtents3d& extents,
66  const OdStringArray& fonts) = 0;
67  virtual OdStreamBufPtr getGfx(const OdUInt64 handle) = 0;
68  virtual void getFonts(const OdUInt64 handle, OdStringArray& fontsIn) = 0;
69  virtual bool getGfx(const OdUInt64 handle, OdUInt32& awareFlags, OdGeExtents3d& extents) = 0;
70  virtual void delGfx(const OdUInt64 handle) = 0;
71  };
72 };
73 
74 #include "TD_PackPop.h"
75 
76 
77 #endif //_CLOUDGFXCACHE_INCLUDED_
OdSmartPtr< OdStreamBuf > OdStreamBufPtr
OdSmartPtr< CloudGfxCache > CloudGfxCachePtr
Definition: GfxCache.h:35
unsigned int OdUInt32
virtual OdStreamBufPtr newStateBuf()
Definition: GfxCache.h:52
virtual VectorizerCtxPtr vectorizerCtx()=0
virtual OdStreamBufPtr readState()=0
virtual void putState(OdStreamBuf *buf)=0
virtual void delGfx(const OdUInt64 handle)=0
virtual void setViewCtx(const OdGsView &view, double simplfTol, double sewTol)=0
virtual void getFonts(const OdUInt64 handle, OdStringArray &fontsIn)=0
virtual void putGfx(const OdUInt64 handle, OdStreamBuf &gfxData, const OdUInt32 awareFlags, const OdGeExtents3d &extents, const OdStringArray &fonts)=0
virtual void delGfx(const OdUInt64 handle)=0
virtual bool getGfx(const OdUInt64 handle, OdUInt32 &awareFlags, OdGeExtents3d &extents)=0
virtual OdStreamBufPtr getGfx(const OdUInt64 handle)=0
virtual OdStreamBufPtr newGfxBuf(const OdUInt64 handle)
Definition: GfxCache.h:63
virtual OdStringArray layoutNames()=0
virtual LayoutDataPtr layoutData(const OdString &name)=0
OdSmartPtr< LayoutData > LayoutDataPtr
Definition: GfxCache.h:41
OdSmartPtr< VectorizerCtx > VectorizerCtxPtr
Definition: GfxCache.h:43
Definition: Gs.h:133
static OdMemoryStreamPtr createNew(OdUInt32 pageDataSize=0x800)
GLuint const GLchar * name
Definition: gles2_ext.h:265