CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
DbLayerState.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, 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 Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 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 DBLAYERSTATEMANAGER_H
25#define DBLAYERSTATEMANAGER_H
26
27#include "TD_PackPush.h"
28#include "StringArray.h"
29
31class OdDbLayerStateManagerImpl;
32
38class TOOLKIT_EXPORT OdDbLayerStateManager: public OdRxObject
39{
40protected:
42public:
43//DOM-IGNORE-BEGIN
45//DOM-IGNORE-END
46
51
56
62 kNone = 0x0000, //None
63 kOn = 0x0001, //On
64 kFrozen = 0x0002, //Frozen
65 kLocked = 0x0004, //Locked
66 kPlot = 0x0008, //Plot
67 kNewViewport = 0x0010, //New viewport
68 kColor = 0x0020, //Color
69 kLineType = 0x0040, //Line type
70 kLineWeight = 0x0080, //Line weight
71 kPlotStyle = 0x0100, //Plot style
72 kCurrentViewport = 0x0200, //Current viewport
73 kTransparency = 0x0400, //Transparency
77 kStateIsHidden = 0x8000, //State is hidden
78 kLastRestored = 0x10000, //Last restored
79 kDecomposition = kAll | 0x20000 //Decomposition
80 };
81
87 enum {
88 kUndefDoNothing = 0, //Restore as is
89 kUndefTurnOff = 1, //Restore as turned off
90 kUndefFreeze = 2, //Restore as frozen
91 kRestoreAsOverrides = 4 //Restore as overrides
92 };
93
103
113
126 OdDbObjectId layerStatesDictionaryId(bool bCreateIfNotPresent=false);
127
137 bool hasLayerState(const OdString& sName);
138
173
182
217
252
261
270 OdResult renameLayerState(const OdString& sName, const OdString& sNewName);
271
280
290
299 OdResult exportLayerState(const OdString& sNameToExport, OdStreamBuf* pStreamBuf);
300
336
387 OdResult restoreLayerState(const OdString& sName, const OdDbObjectId& idVp, int nRestoreFlags = 0, const LayerStateMask* pClientMask = NULL);
388
401 OdResult getLayerStateNames(OdStringArray& lsArray, bool bIncludeHidden = true, bool bIncludeXref = true);
403 OdResult getLayerStateLayers(OdStringArray& layerArray, const OdString& sName, bool bInvert = false);
404 bool compareLayerStateToDb(const OdString& sName, const OdDbObjectId& idVp);
406 OdResult removeLayerStateLayers(const OdString& sName, const OdStringArray& layerNames);
407 bool isDependentLayerState(const OdString& sName);
409protected:
412 friend class OdDbDatabase;
413};
414
415//FELIX_CHANGE_BEGIN
421{
422public:
425
429 virtual bool load() = 0;
430
434 virtual bool save() = 0;
435
439 virtual OdString getActiveLayer() const = 0;
440 virtual OdResult setActiveLayer( const OdString& layerStateName ) = 0;
441
445 virtual bool isOn( const OdString& layerName ) const = 0;
446 virtual OdResult setOn( const OdString& layerName, const bool& bOn ) = 0;
447
451 virtual bool isFreezed( const OdString& layerName, OdDbObjectId id = NULL ) const = 0;
452 virtual OdResult setFreeze( const OdString& layerName, const bool& bFreeze, OdDbObjectId id = NULL ) = 0;
453
457 virtual bool isLocked( const OdString& layerName ) const = 0;
458 virtual OdResult setLocked( const OdString& layerName, const bool& bLock ) = 0;
459
463 virtual OdCmColor getLineColor( const OdString& layerName ) const = 0;
464 virtual OdResult setLineColor( const OdString& layerName, const OdCmColor& color ) = 0;
465
469 virtual OdDb::LineWeight getLineWeight( const OdString& layerName ) const = 0;
470 virtual OdResult setLineWeight( const OdString& layerName, const OdDb::LineWeight& lweight ) = 0;
471
475 virtual OdDbObjectId getLineType( const OdString& layerName ) const = 0;
476 virtual OdResult setLineType( const OdString& layerName, const OdDbObjectId& ltype ) = 0;
477
481 virtual OdString getPlotStyle( const OdString& layerName ) const = 0;
482 virtual OdResult setPlotStyle( const OdString& layerName, const OdString& plotStyle ) = 0;
483
487 virtual OdCmTransparency getTransparency( const OdString& layerName) const = 0;
488 virtual OdResult setTransparency ( const OdString& layerName, const OdCmTransparency& transparency ) = 0;
489
493 virtual bool isPlotable( const OdString& layerName ) const = 0;
494 virtual OdResult setPlotable( const OdString& layerName, const bool& bPlot ) = 0;
495
499 virtual bool isNewVPFreeze( const OdString& layerName ) const = 0;
500 virtual OdResult setNewVPFreeze( const OdString& layerName, const bool& bNewVPFreeze ) = 0;
501
505 virtual OdDbDatabase* database() const = 0;
506
510 virtual OdString getLayerStateName() const = 0;
511 };
512
514
531//FELIX_CHANGE_END
532
533
542{
543public:
544//DOM-IGNORE-BEGIN
546//DOM-IGNORE-END
547
554 virtual void layerStateCreated(const OdString& layerStateName,
555 const OdDbObjectId& layerStateId);
556
567 virtual void layerStateCompareFailed(const OdString& layerStateName,
568 const OdDbObjectId& layerStateId);
569
576 virtual void layerStateToBeRestored(const OdString& layerStateName,
577 const OdDbObjectId& layerStateId);
578
585 virtual void layerStateRestored(const OdString& layerStateName,
586 const OdDbObjectId& layerStateId);
587
595 virtual void abortLayerStateRestore(const OdString& layerStateName,
596 const OdDbObjectId& layerStateId);
597
598
605 virtual void layerStateToBeDeleted(const OdString& layerStateName,
606 const OdDbObjectId& layerStateId);
607
613 virtual void layerStateDeleted(const OdString& layerStateName);
614
622 virtual void abortLayerStateDelete(const OdString& layerStateName,
623 const OdDbObjectId& layerStateId);
624
625
632 virtual void layerStateToBeRenamed(const OdString& oldLayerStateName,
633 const OdString& newLayerStateName);
634
641 virtual void layerStateRenamed(const OdString& oldLayerStateName,
642 const OdString& newLayerStateName);
643
651 virtual void abortLayerStateRename(const OdString& oldLayerStateName,
652 const OdString& newLayerStateName);
653};
654
655
661
669{
670public:
671
680 static OdDbObjectId dictionaryId(OdDbDatabase *pDb, bool createIfNotFound = false);
681
692 static bool has(OdDbDatabase *pDb, const OdString &layerStateName);
693
727 static void save(OdDbDatabase *pDb, const OdString &layerStateName, int layerStateMask, const OdDbObjectId &viewportId = OdDbObjectId::kNull);
728
774 static void restore(OdDbDatabase *pDb, const OdString &layerStateName,
775 int flags = OdDbLayerStateManager::kUndefDoNothing, const int layerStateMask = -1, const OdDbObjectId& viewportId = OdDbObjectId::kNull);
808 static void setMask(OdDbDatabase *pDb, const OdString &layerStateName, int layerStateMask);
809
844 static int mask(OdDbDatabase *pDb, const OdString &layerStateName);
845
852 static void remove(OdDbDatabase *pDb, const OdString &layerStateName);
853
861 static void rename(OdDbDatabase *pDb, const OdString &oldName, const OdString &newName);
862
868 {
869 kImported, //Layer state was imported
870 kAlreadyExists //Layer state already exists in the database
871 };
872
888 static ImportResult importData(OdDbDatabase *pDb, OdStreamBuf* pStreamBuf, OdString* pName = 0);
889
897 static void exportData(OdDbDatabase *pDb, const OdString &layerStateName, OdStreamBuf* pStreamBuf);
898
906 static void setDescription(OdDbDatabase *pDb, const OdString &layerStateName, const OdString &description);
915 static OdString description(OdDbDatabase *pDb, const OdString &layerStateName);
916
926 static bool hasViewportData(OdDbDatabase *pDb, const OdString &layerStateName);
927
938
948 static OdResult removeLayerStateLayers(OdDbDatabase* pDb, const OdString sName, const OdStringArray& layerNames);
949
961 static OdResult saveGroup(OdDbDatabase *pDb, const OdString &sName,
963 int includedLayersState = OdDbLayerStateManager::kOn, int otherLayersState = OdDbLayerStateManager::kNone);
964};
965
966#include "TD_PackPop.h"
967
968#endif //#ifndef DBLAYERSTATEMANAGER_H
OdSmartPtr< OdDbDatabase > OdDbDatabasePtr
Definition DbDatabase.h:203
#define TOOLKIT_EXPORT
Definition DbExport.h:40
OdSmartPtr< OdDbLayerStateManagerReactor > OdDbLayerStateManagerReactorPtr
TOOLKIT_EXPORT OdDbLayerStateProperties * fxGetLayerStateProperties(OdDbDatabase *pDb, const OdString &layerState)
ltype
OdArray< OdDbObjectId, OdClrMemAllocator< OdDbObjectId > > OdDbObjectIdArray
Definition IdArrays.h:53
OdResult
Definition OdResult.h:29
OdArray< OdString > OdStringArray
Definition StringArray.h:32
static OdString description(OdDbDatabase *pDb, const OdString &layerStateName)
static void restore(OdDbDatabase *pDb, const OdString &layerStateName, int flags=OdDbLayerStateManager::kUndefDoNothing, const int layerStateMask=-1, const OdDbObjectId &viewportId=OdDbObjectId::kNull)
static ImportResult importData(OdDbDatabase *pDb, OdStreamBuf *pStreamBuf, OdString *pName=0)
static void remove(OdDbDatabase *pDb, const OdString &layerStateName)
static OdResult saveGroup(OdDbDatabase *pDb, const OdString &sName, const OdDbObjectIdArray &pLayers, int mask=OdDbLayerStateManager::kOn, int includedLayersState=OdDbLayerStateManager::kOn, int otherLayersState=OdDbLayerStateManager::kNone)
static OdResult addLayerStateLayers(const OdString &sName, OdDbObjectIdArray layerIds)
static OdResult removeLayerStateLayers(OdDbDatabase *pDb, const OdString sName, const OdStringArray &layerNames)
static bool hasViewportData(OdDbDatabase *pDb, const OdString &layerStateName)
static void exportData(OdDbDatabase *pDb, const OdString &layerStateName, OdStreamBuf *pStreamBuf)
static OdDbObjectId dictionaryId(OdDbDatabase *pDb, bool createIfNotFound=false)
static void setMask(OdDbDatabase *pDb, const OdString &layerStateName, int layerStateMask)
static int mask(OdDbDatabase *pDb, const OdString &layerStateName)
static bool has(OdDbDatabase *pDb, const OdString &layerStateName)
static void setDescription(OdDbDatabase *pDb, const OdString &layerStateName, const OdString &description)
static void rename(OdDbDatabase *pDb, const OdString &oldName, const OdString &newName)
static void save(OdDbDatabase *pDb, const OdString &layerStateName, int layerStateMask, const OdDbObjectId &viewportId=OdDbObjectId::kNull)
OdResult renameLayerState(const OdString &sName, const OdString &sNewName)
OdResult getLayerStateDescription(const OdString &sName, OdString &sDesc)
OdResult getLastRestoredLayerState(OdString &sName, OdDbObjectId &restoredLSId)
OdResult setLayerStateDescription(const OdString &sName, const OdString &sDesc)
OdResult saveLayerState(const OdString &sName, LayerStateMask mask)
OdDbDatabase * getDatabase() const
bool compareLayerStateToDb(const OdString &sName, const OdDbObjectId &idVp)
bool addReactor(OdDbLayerStateManagerReactor *pReactor)
friend class OdDbLayerStateManagerImpl
OdResult getLayerStateMask(const OdString &sName, LayerStateMask &returnMask)
OdResult restoreLayerState(const OdString &sName, const OdDbObjectId &idVp, int nRestoreFlags=0, const LayerStateMask *pClientMask=NULL)
OdResult importLayerStateFromDb(const OdString &pStateName, OdDbDatabase *pDb)
OdResult setLayerStateMask(const OdString &sName, LayerStateMask mask)
bool layerStateHasViewportData(const OdString &sName)
OdResult importLayerState(OdStreamBuf *pStreamBuf, OdString &sName)
OdResult removeLayerStateLayers(const OdString &sName, const OdStringArray &layerNames)
OdResult restoreLayerState(const OdString &sName)
OdResult exportLayerState(const OdString &sNameToExport, OdStreamBuf *pStreamBuf)
OdResult saveLayerState(const OdString &sName, LayerStateMask mask, const OdDbObjectId &idVp)
OdResult getLayerStateLayers(OdStringArray &layerArray, const OdString &sName, bool bInvert=false)
OdDbLayerStateManagerImpl * m_pImpl
OdResult addLayerStateLayers(const OdString &sName, const OdDbObjectIdArray &layerIds)
OdResult getLayerStateNames(OdStringArray &lsArray, bool bIncludeHidden=true, bool bIncludeXref=true)
bool isDependentLayerState(const OdString &sName)
bool hasLayerState(const OdString &sName)
OdResult importLayerState(OdStreamBuf *pStreamBuf)
OdResult deleteLayerState(const OdString &sName)
OdDbLayerStateManager(OdDbLayerStateManagerImpl *)
OdDbObjectId layerStatesDictionaryId(bool bCreateIfNotPresent=false)
ODRX_DECLARE_MEMBERS(OdDbLayerStateManager)
bool removeReactor(OdDbLayerStateManagerReactor *pReactor)
friend class OdDbDatabase
virtual void layerStateCompareFailed(const OdString &layerStateName, const OdDbObjectId &layerStateId)
virtual void abortLayerStateDelete(const OdString &layerStateName, const OdDbObjectId &layerStateId)
virtual void layerStateDeleted(const OdString &layerStateName)
virtual void layerStateRestored(const OdString &layerStateName, const OdDbObjectId &layerStateId)
virtual void layerStateToBeRenamed(const OdString &oldLayerStateName, const OdString &newLayerStateName)
virtual void layerStateToBeRestored(const OdString &layerStateName, const OdDbObjectId &layerStateId)
virtual void layerStateRenamed(const OdString &oldLayerStateName, const OdString &newLayerStateName)
virtual void layerStateToBeDeleted(const OdString &layerStateName, const OdDbObjectId &layerStateId)
virtual void abortLayerStateRename(const OdString &oldLayerStateName, const OdString &newLayerStateName)
virtual void abortLayerStateRestore(const OdString &layerStateName, const OdDbObjectId &layerStateId)
ODRX_DECLARE_MEMBERS(OdDbLayerStateManagerReactor)
virtual void layerStateCreated(const OdString &layerStateName, const OdDbObjectId &layerStateId)
virtual bool load()=0
virtual OdDbObjectId getLineType(const OdString &layerName) const =0
virtual OdResult setOn(const OdString &layerName, const bool &bOn)=0
virtual OdResult setNewVPFreeze(const OdString &layerName, const bool &bNewVPFreeze)=0
virtual OdResult setFreeze(const OdString &layerName, const bool &bFreeze, OdDbObjectId id=NULL)=0
virtual OdResult setLineColor(const OdString &layerName, const OdCmColor &color)=0
virtual bool isNewVPFreeze(const OdString &layerName) const =0
virtual OdCmTransparency getTransparency(const OdString &layerName) const =0
virtual OdString getActiveLayer() const =0
virtual bool isLocked(const OdString &layerName) const =0
virtual OdResult setLineWeight(const OdString &layerName, const OdDb::LineWeight &lweight)=0
virtual bool isFreezed(const OdString &layerName, OdDbObjectId id=NULL) const =0
virtual OdResult setLineType(const OdString &layerName, const OdDbObjectId &ltype)=0
virtual OdResult setPlotStyle(const OdString &layerName, const OdString &plotStyle)=0
virtual OdString getPlotStyle(const OdString &layerName) const =0
virtual OdResult setLocked(const OdString &layerName, const bool &bLock)=0
virtual bool isPlotable(const OdString &layerName) const =0
virtual ~OdDbLayerStateProperties()
virtual OdResult setPlotable(const OdString &layerName, const bool &bPlot)=0
virtual OdString getLayerStateName() const =0
virtual OdDb::LineWeight getLineWeight(const OdString &layerName) const =0
virtual OdResult setTransparency(const OdString &layerName, const OdCmTransparency &transparency)=0
virtual OdDbDatabase * database() const =0
virtual bool save()=0
virtual OdResult setActiveLayer(const OdString &layerStateName)=0
virtual bool isOn(const OdString &layerName) const =0
virtual OdCmColor getLineColor(const OdString &layerName) const =0
OdDbLegacyLayerStateImporter(OdDbDatabasePtr pDb)
static TOOLKIT_EXPORT_STATIC const OdDbObjectId kNull
Definition DbObjectId.h:110
GLenum GLint GLuint mask
Definition gles2_ext.h:262
LineWeight
Definition OdaDefs.h:386