CFx SDK Documentation  2023 SP0
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
OdGsLightNode Class Reference

#include <GsLightNode.h>

Inheritance diagram for OdGsLightNode:
OdGsEntityNode OdGsNode OdSiEntity OdGsCache OdRxObject

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdGsLightNode)
 
 ~OdGsLightNode ()
 
 OdGsLightNode (OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable, bool bSetGsNode=true)
 
void setModelTransform (const OdGeMatrix3d &xform)
 
OdGeMatrix3d modelTransform () const
 
void setLightOwner (OdGsUpdateContext &ctx, OdGsContainerNode *pParent)
 
bool isOwnedBy (OdGsUpdateContext &ctx, OdGsContainerNode *pParent) const
 
bool isOwnedBy (const OdGsNode *pOwner) const
 
OdGsNodegetLightOwner () const
 
OdGiLightTraitsData::LightType lightType ()
 
virtual bool isLight () const
 
OdGiPointLightTraitsDatapointLightTraitsData (OdUInt32 viewportID=ULONG_MAX)
 
OdGiSpotLightTraitsDataspotLightTraitsData (OdUInt32 viewportID=ULONG_MAX)
 
OdGiDistantLightTraitsDatadistantLightTraitsData (OdUInt32 viewportID=ULONG_MAX)
 
OdGiWebLightTraitsDatawebLightTraitsData (OdUInt32 viewportID=ULONG_MAX)
 
OdGiLightTraitsDatalightTraitsData (OdUInt32 viewportID=ULONG_MAX)
 
virtual void invalidate (OdGsContainerNode *pParent, OdGsViewImpl *pView, OdUInt32 mask)
 
virtual void update (OdGsUpdateContext &ctx, OdGsContainerNode *pParent, OdSiSpatialIndex *)
 
virtual bool saveClientNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer) const
 
virtual bool loadClientNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer)
 
void updateViewportDependent (OdGsViewImpl *pView)
 
- Public Member Functions inherited from OdGsEntityNode
OdGsEntityNode::MetafilePtr metafileAt (int metafileIndex) const
 
void setMetafile (OdGsEntityNode::Metafile *metafiles)
 
void setMetafileAt (int metafileIndex, OdGsEntityNode::Metafile *pMetafile)
 
void convertToViewportDependent (const OdGsUpdateContext &ctx)
 
OdGsEntityNode::Metafilemetafile (const OdGsViewImpl &view, OdGsUpdateContext *ctx, MetafileCompatibilityLevel findCompatibleLevel=kFindCompatible)
 
void setMetafile (OdGsUpdateContext &ctx, OdGsEntityNode::Metafile *metafiles)
 
OdRxObjectfindCompatibleCache (const OdGsViewImpl &keyView, OdGsUpdateContext *ctx, OdUInt32 awareMask=0)
 
 ODRX_DECLARE_MEMBERS (OdGsEntityNode)
 
 OdGsEntityNode (OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable, bool bSetGsNode=false)
 
 ~OdGsEntityNode ()
 
void setNextEntity (OdGsEntityNode *pNextEntity)
 
void setNextEntity (OdUInt32 nVpId, OdGsEntityNode *pNextEntity)
 
OdGsEntityNodenextEntity ()
 
OdGsEntityNodenextEntity (OdUInt32 nVpId)
 
const OdGsEntityNodenextEntity () const
 
const OdGsEntityNodenextEntity (OdUInt32 nVpId) const
 
OdUInt32 numNextEntity () const
 
void enableMultipleNextEntities (OdUInt32 nMaxVpId)
 
void updateVisible (OdGsViewImpl *pViewImpl)
 
virtual OdGsEntityNode::MetafilePtr regenMetafile (OdGsUpdateContext &ctx, OdUInt32 vpDepFlags)
 
virtual OdUInt32 awareFlags (OdUInt32 viewportId) const
 
virtual ENodeType nodeType () const
 
virtual bool isReference () const
 
void display (OdGsDisplayContext &ctx)
 
void select (OdGsBaseVectorizer &view)
 
bool extents (OdGeExtents3d &extents) const
 
bool spatiallyIndexed () const
 
bool spatiallyIndexed (OdUInt32 nVpId) const
 
void setSpatiallyIndexed (bool spatiallyIndexed)
 
void setSpatiallyIndexed (OdUInt32 nVpId, bool spatiallyIndexed)
 
bool owned () const
 
bool owned (OdUInt32 nVpId) const
 
void setOwned (bool owned)
 
void setOwned (OdUInt32 nVpId, bool owned)
 
bool markedByUpdateManager () const
 
void setMarkedByUpdateManager (bool marked)
 
bool hasExtents () const
 
const OdGeExtents3dextents () const
 
virtual bool isEmpty ()
 
virtual bool hasFrozenLayers ()
 
bool markedToSkip (unsigned mask)
 
void markToSkip (unsigned mask, bool markToSkip)
 
void markToSkipAll ()
 
void destroy ()
 
virtual bool layersChanged (OdGsViewImpl &view) const
 
bool markedAsNonSelectable () const
 
void markAsNonSelectable (bool val)
 
bool isMarkedSkipSelection () const
 
void markSkipSelection (bool val)
 
bool isMarkedErased () const
 
void markErased (bool val)
 
bool isInWorkset () const
 
void setInWorkset (bool val)
 
bool isRegenOnDraw () const
 
void setRegenOnDraw (bool val)
 
bool isSingleThreaded () const
 
void setSingleThreaded (bool val)
 
virtual void highlight (bool bDoIt, bool bWholeBranch)
 
void setHlBranch (OdGsHlBranch *pBr)
 
OdGsHlBranchhlBranch ()
 
const OdGsHlBranchhlBranch () const
 
virtual void playAsGeometry (OdGsBaseVectorizer &view, EMetafilePlayMode eMode)
 
bool extents (const OdGsView *pView, OdGeExtents3d &ext) const
 
OdDb::LineWeight getMaxLineweightUsed () const
 
void addMaxLineweightUsed (OdDb::LineWeight lwd)
 
void setMaxLineweightUsed (OdDb::LineWeight lwd)
 
bool entityUnerased () const
 
void setEntityUnerased (bool flag)
 
bool isInvisible () const
 
bool isExtentsOutOfModelSpace () const
 
void setExtentsOutOfModelSpace (bool flag)
 
void resetInvalidVpFlag ()
 
void setAsLightSourceOwner (bool bSet)
 
bool isLightSourceOwner () const
 
bool isRequireRegenOnHighlightChange () const
 
virtual void makeStock ()
 
virtual void releaseStock ()
 
virtual void propagateLayerChangesStock ()
 
bool saveNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL) const
 
bool loadNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL)
 
void addContentToUpdateManager (OdUInt32 viewportId, OdGsUpdateManager *pManager, const UpdateManagerContext &context)
 
- Public Member Functions inherited from OdGsNode
bool invalidVp () const
 
void setToDrawable (const OdGiDrawable *pUnderlyingDrawable)
 
 ODRX_DECLARE_MEMBERS (OdGsNode)
 
voidoperator new (size_t)
 
void operator delete (void *)
 
void addRef ()
 
void release ()
 
 OdGsNode (OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable)
 
virtual ~OdGsNode ()
 
OdGsBaseModelbaseModel () const
 
OdGsModelmodel () const
 
bool isContainer () const
 
bool isSyncDrawable () const
 
OdGiDrawablePtr underlyingDrawable () const
 
OdDbStub * underlyingDrawableId () const
 
bool isHighlighted () const
 
bool isHighlightedAll () const
 
void hide (bool bDoIt)
 
bool isHidden () const
 
void setSelectableIfHidden (bool bSelectable)
 
bool isSelectableIfHidden () const
 
virtual bool postprocessNodeLoading (OdGsFiler *pFiler)
 
 TD_USING (OdGsCache::extents)
 
virtual void setDrawableNull ()
 
- Public Member Functions inherited from OdGsCache
 ODRX_DECLARE_MEMBERS (OdGsCache)
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Static Public Member Functions

static bool drawableIsLight (const OdGiDrawable *pDrawable)
 
- Static Public Member Functions inherited from OdGsEntityNode
static voidAlloc (size_t nBytes)
 
static void Free (void *pMemBlock)
 
static voidRealloc (void *pMemBlock, size_t newSize, size_t)
 
static OdGsEntityNode::MetafilePtr getEmptyMetafile (OdUInt32 flags, OdGsLayerNode *pLayerNode=NULL)
 
static unsigned markToSkipMask (OdUInt32 threadIndex)
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Protected Member Functions

void update ()
 
void adjustViewportDependentLightTraitsData (OdGiLightTraitsVpDepData *vdData, OdGiLightTraitsData *data)
 
void clearVpDepTraitsMap ()
 
- Protected Member Functions inherited from OdGsEntityNode
virtual void propagateLayerChanges (OdGsViewImpl &view)
 
MetafilePtrArraymetafileArray ()
 
const MetafilePtrArraymetafileArray () const
 
OdGsEntityNode::MetafilePtr metafile () const
 
void setExtentsFromMetafiles ()
 
bool findMetafileInStock (OdGsUpdateContext &ctx)
 
void insertToSpatialIndex (OdUInt32 nVpId, OdSiSpatialIndex &parentIndex, const OdGeExtents3d &prevExtents)
 
void setExtentsFlags ()
 
OdGsDCRect extentsToPixels (const OdGeExtents3d &ext, OdGsViewImpl *pViewImpl)
 
- Protected Member Functions inherited from OdGsNode
void setInvalidVp (bool val)
 
void clearDrawable ()
 
 OdGsNode (const OdGsNode &c)
 

Additional Inherited Members

- Public Types inherited from OdGsEntityNode
enum  MetafileCompatibilityLevel { kSkipCheckCompatible = 0 , kCheckViewChanges = 1 , kCheckCompatibleView = 2 , kFindCompatible = 3 }
 
typedef OdSmartPtr< MetafileMetafilePtr
 
- Protected Types inherited from OdGsEntityNode
enum  {
  kHasExtents = OdGsNode::kLastFlag << 1 , kSpatiallyIndexed = OdGsNode::kLastFlag << 2 , kInWorkset = OdGsNode::kLastFlag << 3 , kSingleThreaded = OdGsNode::kLastFlag << 4 ,
  kOwned = OdGsNode::kLastFlag << 5 , kDrawableRegenDraw = OdGsNode::kLastFlag << 6 , kEntityUnerased = OdGsNode::kLastFlag << 7 , kInvisible = OdGsNode::kLastFlag << 8 ,
  kExtentsOutOfMS = OdGsNode::kLastFlag << 9 , kNonSelectable = OdGsNode::kLastFlag << 10 , kSkipSelection = OdGsNode::kLastFlag << 11 , kErased = OdGsNode::kLastFlag << 12 ,
  kDrawableIsXref = OdGsNode::kLastFlag << 13 , kMultilistNextPtr = OdGsNode::kLastFlag << 14 , kLastFlag = kMultilistNextPtr
}
 
enum  {
  kLineweightBit1 = (1 << 0) , kLineweightBit2 = (1 << 1) , kLineweightOffset = 0 , kLineweightBit3 = (1 << 2) ,
  kLineweightBit4 = (1 << 3) , kLineweightBit5 = (1 << 4) , kLineweightBit6 = (1 << 5) , kLineweightBit7 = (1 << 6) ,
  kLineweightBit8 = (1 << 7) , kLineweightBitMask = kLineweightBit1 | kLineweightBit2 | kLineweightBit3 | kLineweightBit4 | kLineweightBit5 | kLineweightBit6 | kLineweightBit7 | kLineweightBit8 , kLightSourceOwner = (1 << 8) , kRegenOnHighlight = (1 << 9) ,
  kMarkedByUpdateManager = (1 << 10) , kLastEntFlag = kMarkedByUpdateManager
}
 
enum  { kMarkedToSkipFirst = 0x00000001 , kMarkedToSkipLast = kMarkedToSkipFirst << 30 , kMarkedToSkipAll = 0x7FFFFFFF }
 
- Protected Types inherited from OdGsNode
enum  {
  kPersistent = 0x00000001 , kContainer = 0x00000002 , kHLT = 0x00000004 , kHLT_All = 0x00000008 ,
  kSyncDrawable = 0x00000010 , kHidden = 0x00000020 , kSelectHidden = 0x00000040 , kLastFlag = kSelectHidden
}
 
enum  { kInvalidateVp = 0x80000000 }
 
- Protected Attributes inherited from OdGsEntityNode
OdGeExtents3d m_extents
 
OdGsHlBranchPtr m_hlBranch
 
MetafileHolder m_metafile
 
OdUInt32 m_entFlags
 
- Protected Attributes inherited from OdGsNode
OdGsNodem_pPrev
 
OdGsNodem_pNext
 
OdGsBaseModelm_pModel
 
voidm_underlyingDrawable
 
OdUInt32 m_flags
 
- Static Protected Attributes inherited from OdGsNode
static GS_STATIC_EXPORT AllocatorArray s_aAlloc
 

Detailed Description

<group OdGs_Classes>

Definition at line 39 of file GsLightNode.h.

Constructor & Destructor Documentation

◆ ~OdGsLightNode()

OdGsLightNode::~OdGsLightNode ( )

◆ OdGsLightNode()

OdGsLightNode::OdGsLightNode ( OdGsBaseModel pModel,
const OdGiDrawable pUnderlyingDrawable,
bool  bSetGsNode = true 
)

Member Function Documentation

◆ adjustViewportDependentLightTraitsData()

void OdGsLightNode::adjustViewportDependentLightTraitsData ( OdGiLightTraitsVpDepData vdData,
OdGiLightTraitsData data 
)
inlineprotected

Definition at line 186 of file GsLightNode.h.

◆ clearVpDepTraitsMap()

void OdGsLightNode::clearVpDepTraitsMap ( )
inlineprotected

Definition at line 200 of file GsLightNode.h.

◆ distantLightTraitsData()

OdGiDistantLightTraitsData * OdGsLightNode::distantLightTraitsData ( OdUInt32  viewportID = ULONG_MAX)
inline

Definition at line 144 of file GsLightNode.h.

◆ drawableIsLight()

bool OdGsLightNode::drawableIsLight ( const OdGiDrawable pDrawable)
inlinestatic

Returns true if and only if specified drawable is a light entity.

Parameters
pDrawable[in] Pointer onto Drawable object.

Definition at line 194 of file GsLightNode.h.

◆ getLightOwner()

OdGsNode* OdGsLightNode::getLightOwner ( ) const
inline

Definition at line 71 of file GsLightNode.h.

◆ invalidate()

virtual void OdGsLightNode::invalidate ( OdGsContainerNode pParent,
OdGsViewImpl pView,
OdUInt32  mask 
)
virtual

Invalidates the cached data within this object.

Parameters
pParent[in] Pointer to the ContainerNode object for this Node object.
pView[in] Pointer to the VectorizeView object for which data are to be invalidated.
mask[in] Mask.
Remarks
The cached data will be regenerated the next time this Node object is accessed.

Reimplemented from OdGsEntityNode.

◆ isLight()

bool OdGsLightNode::isLight ( ) const
inlinevirtual

Reimplemented from OdGsEntityNode.

Definition at line 111 of file GsLightNode.h.

◆ isOwnedBy() [1/2]

bool OdGsLightNode::isOwnedBy ( const OdGsNode pOwner) const
inline

Definition at line 70 of file GsLightNode.h.

◆ isOwnedBy() [2/2]

bool OdGsLightNode::isOwnedBy ( OdGsUpdateContext &  ctx,
OdGsContainerNode pParent 
) const

◆ lightTraitsData()

OdGiLightTraitsData * OdGsLightNode::lightTraitsData ( OdUInt32  viewportID = ULONG_MAX)
inline

Definition at line 172 of file GsLightNode.h.

◆ lightType()

OdGiLightTraitsData::LightType OdGsLightNode::lightType ( )
inline

Definition at line 106 of file GsLightNode.h.

◆ loadClientNodeState()

virtual bool OdGsLightNode::loadClientNodeState ( OdGsFiler pFiler,
OdGsBaseVectorizer pVectorizer 
)
virtual

Reimplemented from OdGsNode.

◆ modelTransform()

OdGeMatrix3d OdGsLightNode::modelTransform ( ) const
inline

Definition at line 66 of file GsLightNode.h.

◆ ODRX_DECLARE_MEMBERS()

OdGsLightNode::ODRX_DECLARE_MEMBERS ( OdGsLightNode  )

◆ pointLightTraitsData()

OdGiPointLightTraitsData * OdGsLightNode::pointLightTraitsData ( OdUInt32  viewportID = ULONG_MAX)
inline

Definition at line 116 of file GsLightNode.h.

◆ saveClientNodeState()

virtual bool OdGsLightNode::saveClientNodeState ( OdGsFiler pFiler,
OdGsBaseVectorizer pVectorizer 
) const
virtual

Reimplemented from OdGsNode.

◆ setLightOwner()

void OdGsLightNode::setLightOwner ( OdGsUpdateContext &  ctx,
OdGsContainerNode pParent 
)

◆ setModelTransform()

void OdGsLightNode::setModelTransform ( const OdGeMatrix3d xform)
inline

Definition at line 65 of file GsLightNode.h.

◆ spotLightTraitsData()

OdGiSpotLightTraitsData * OdGsLightNode::spotLightTraitsData ( OdUInt32  viewportID = ULONG_MAX)
inline

Definition at line 130 of file GsLightNode.h.

◆ update() [1/2]

void OdGsLightNode::update ( )
protected

◆ update() [2/2]

virtual void OdGsLightNode::update ( OdGsUpdateContext &  ctx,
OdGsContainerNode pParent,
OdSiSpatialIndex pParentIndex 
)
virtual

Updates the cached data within this Node object for the specified VectorizeView and ContainerNode objects.

Parameters
pParent[in] Pointer to the ContainerNode object for this Node object.
view[in] VectorizeView object for which data are to be updated.

Reimplemented from OdGsEntityNode.

◆ updateViewportDependent()

void OdGsLightNode::updateViewportDependent ( OdGsViewImpl pView)

Updates viewport-dependent properties

Parameters
pView[in] View implementation

◆ webLightTraitsData()

OdGiWebLightTraitsData * OdGsLightNode::webLightTraitsData ( OdUInt32  viewportID = ULONG_MAX)
inline

Definition at line 158 of file GsLightNode.h.


The documentation for this class was generated from the following file: