CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
TrRndStateBranchClient.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// State branch access clients.
24
25#ifndef ODTRRNDSTATEBRANCHCLIENT
26#define ODTRRNDSTATEBRANCHCLIENT
27
28#include "TD_PackPush.h"
29
30#include "RxObject.h"
31#include "../TrVisDefs.h"
32
37{
38public:
43 virtual bool empty() const = 0;
49 virtual bool hasMarker( OdGsMarker marker ) const = 0;
58 virtual bool interval( OdGsMarker& minMarker, OdGsMarker& maxMarker ) const { return false; }
59};
60
61// State branch childs iterator
62typedef const void *OdTrVisStateChildIt;
63// State branch markers pointer
64typedef const void *OdTrVisStateMarkerPtr;
65// State branch markers iterator
67{
69 OdTrVisStateMarkerIt(OdTrVisStateMarkerPtr pPtr = nullptr) { m_pData[0] = pPtr; }
70 operator OdTrVisStateMarkerPtr() const { return *m_pData; }
71 bool isNull() const { return *m_pData == nullptr; }
72};
73
78{
83 virtual bool stateBranchIsEmpty(OdTrVisStateBranchPtr pStateBranch) const = 0;
84 virtual bool stateBranchHasMarkers(OdTrVisStateBranchPtr pStateBranch) const = 0;
86 virtual OdTrVisStateChildIt stateBranchNextChild(OdTrVisStateBranchPtr pStateBranch, OdTrVisStateChildIt it = nullptr, OdTrVisStateBranchId *pChildId = nullptr) const = 0;
88 virtual OdTrVisStateMarkerIt stateBranchNextMarker(OdTrVisStateBranchPtr pStateBranch, OdTrVisStateMarkerIt it = nullptr, OdTrVisGsMarker *pMarkerId = nullptr) const = 0;
89 virtual OdUInt32 stateBranchIntegerParam(OdTrVisStateBranchPtr pStateBranch, OdTrVisStateMarkerPtr pMarker = nullptr) const = 0;
90 virtual const OdGeMatrix3d &stateBranchMatrixParam(OdTrVisStateBranchPtr pStateBranch, OdTrVisStateMarkerPtr pMarker = nullptr) const = 0;
101 virtual void releaseMarkersAccessor( OdTrRndMarkersAccessor* pAccessor ) const = 0;
102};
103
108{
109};
110
115
116#include "TD_PackPop.h"
117
118#endif // ODTRRNDSTATEBRANCHCLIENT
ptrdiff_t OdGsMarker
unsigned int OdUInt32
OdSmartPtr< OdTrRndStateBranchClient > OdTrRndStateBranchClientPtr
const void * OdTrVisStateChildIt
const void * OdTrVisStateMarkerPtr
OdUInt64 OdTrVisGsMarker
Definition TrVisDefs.h:87
const void * OdTrVisStateBranchPtr
Definition TrVisDefs.h:170
OdTrVisId OdTrVisStateBranchId
Definition TrVisDefs.h:118
OdUInt64 OdTrVisOwning
Definition TrVisDefs.h:97
virtual bool hasMarker(OdGsMarker marker) const =0
virtual bool interval(OdGsMarker &minMarker, OdGsMarker &maxMarker) const
virtual bool empty() const =0
virtual const OdGeMatrix3d & stateBranchMatrixParam(OdTrVisStateBranchPtr pStateBranch, OdTrVisStateMarkerPtr pMarker=nullptr) const =0
virtual OdUInt32 stateBranchIntegerParam(OdTrVisStateBranchPtr pStateBranch, OdTrVisStateMarkerPtr pMarker=nullptr) const =0
virtual void releaseMarkersAccessor(OdTrRndMarkersAccessor *pAccessor) const =0
virtual OdTrVisStateBranchId stateBranchId(OdTrVisStateBranchPtr pStateBranch) const =0
virtual OdTrVisStateMarkerIt stateBranchNextMarker(OdTrVisStateBranchPtr pStateBranch, OdTrVisStateMarkerIt it=nullptr, OdTrVisGsMarker *pMarkerId=nullptr) const =0
virtual OdTrVisStateMarkerPtr stateBranchHasMarker(OdTrVisStateBranchPtr pStateBranch, OdTrVisGsMarker gsMarker) const =0
virtual OdTrRndMarkersAccessor * stateBranchMarkers(OdTrVisStateBranchPtr pStateBranch) const =0
virtual void stateBranchLock(OdTrVisStateBranchId stateBranchId) const =0
virtual bool stateBranchUnlock(OdTrVisStateBranchId stateBranchId) const =0
virtual OdTrVisStateChildIt stateBranchNextChild(OdTrVisStateBranchPtr pStateBranch, OdTrVisStateChildIt it=nullptr, OdTrVisStateBranchId *pChildId=nullptr) const =0
virtual bool stateBranchHasMarkers(OdTrVisStateBranchPtr pStateBranch) const =0
virtual bool stateBranchIsEmpty(OdTrVisStateBranchPtr pStateBranch) const =0
virtual OdTrVisStateBranchPtr stateBranchGetChild(OdTrVisStateBranchPtr pStateBranch, OdTrVisOwning childId) const =0
virtual OdTrVisStateBranchPtr stateBranchGetPtr(OdTrVisStateBranchId stateBranchId) const =0
OdTrVisStateMarkerPtr m_pData[4]
OdTrVisStateMarkerIt(OdTrVisStateMarkerPtr pPtr=nullptr)