25#ifndef ODTRVISDISPLAYCODEPROC
26#define ODTRVISDISPLAYCODEPROC
38 template <
typename TArray>
44 template <
typename TArray>
49 template <
typename TArray>
54 template <
typename TArray>
60 template <
typename TArray>
64 const ValType *pMtxRepresentation =
reinterpret_cast<const ValType*
>(mtx.
entry);
65 arry.insert(arry.end(), pMtxRepresentation, pMtxRepresentation + (
sizeof(
OdGeMatrix3d) /
sizeof(ValType)));
67 template <
typename TArray>
73 template <
typename TArray>
74 static void pushFade(TArray &arry,
long nFadeSlot)
77 arry.push_back((ValType)(
OdIntPtr)nFadeSlot);
79 template <
typename TArray>
83 arry.push_back((ValType)(
OdIntPtr)nFadeSlot);
85 template <
typename TArray>
86 static void pushFade(TArray &arry,
long nFadeSlot,
bool bFade)
88 if (bFade) pushFade<TArray>(arry, nFadeSlot);
89 else pushUnfade<TArray>(arry, nFadeSlot);
92 template <
typename TArray>
96 arry.push_back((ValType)(
OdIntPtr)pBranch);
98 template <
typename TArray>
106 template <
typename TArray>
112 template <
typename TArray>
116 arry.push_back(*
reinterpret_cast<ValType*
>(&drawOrder));
118 template <
typename TArray>
124 template <
typename TArray>
128 arry.push_back(*
reinterpret_cast<const ValType*
>(&ival.
m_minBound));
129 arry.push_back(*
reinterpret_cast<const ValType*
>(&ival.
m_maxBound));
132 template <
typename TArray>
137 template <
typename TArray>
142 template <
typename TArray>
148 template <
typename TArray>
152 arry.push_back((ValType)(
OdIntPtr)nSelStyle);
159 template <
typename TArray>
163 arry.push_back((ValType)(
OdIntPtr)pID);
173 template <
typename TObj>
174 static bool isEqual(
const TObj &obj1,
const TObj &obj2)
176 return !::memcmp(&obj1, &obj2,
sizeof(TObj));
193 : m_pList(const_cast<
OdTrVisDisplayId*>(pList)), m_nListData(nData), m_nCaret(0)
196 bool isEOF()
const {
return m_nCaret >= m_nListData; }
233 pDumpFunc(L
"Code Highlight: 1\n");
236 pDumpFunc(L
"Code UnHighlight: 0\n");
239 pDumpFunc(
OdString().
format(L
"Code PushMatrix: { %f, %f, %f, %f }, { %f, %f, %f, %f }, { %f, %f, %f, %f }, { %f, %f, %f, %f }\n",
246 pDumpFunc(L
"Code PopMatrix\n");
267 pDumpFunc(L
"Code Exploded: 1\n");
270 pDumpFunc(L
"Code NonExploded: 0\n");
const void * OdTrVisStateBranchPtr
@ kTrVisHighlightingBranch
#define OdTrVisIdToPtr(ptrType, id)
static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
static void pushMultiOrder(TArray &arry)
static void pushHighlight(TArray &arry, bool bHighlight)
static void pushDrawOrder(TArray &arry, double drawOrder)
static void pushSelStyle(TArray &arry, OdUInt32 nSelStyle)
static void pushFade(TArray &arry, long nFadeSlot)
static void pushVsMarkers(TArray &arry, OdTrVisStateBranchPtr pVsBranch)
static void pushUnfade(TArray &arry, long nFadeSlot)
static void pushMarkers(TArray &arry, OdTrVisStateBranchPtr pBranch, OdTrVisStateBranchType sbType)
static void pushDepthIval(TArray &arry, const OdTrVisIvald &ival)
static void pushPopMatrix(TArray &arry)
static void pushExploded(TArray &arry, bool bExploded)
static void pushFade(TArray &arry, long nFadeSlot, bool bFade)
static void pushExploded(TArray &arry)
static void pushNonExploded(TArray &arry)
static void pushPushMatrix(TArray &arry, const OdGeMatrix3d &mtx)
static void pushUnhighlight(TArray &arry)
static void pushHlMarkers(TArray &arry, OdTrVisStateBranchPtr pHlBranch)
static void pushHighlight(TArray &arry)
static void pushSelectionID(TArray &arry, const void *pID)
static void pushZero(TArray &arry)
const OdTrVisDisplayId & next(OdUInt32 n=1) const
const void * codeAsPtr(OdUInt32 n=1) const
const OdTrVisId * codeAsIdPtr(OdUInt32 n=1) const
static void dumpDisplayList(const OdTrVisDisplayId *pList, OdUInt32 nData, void(*pDumpFunc)(const OdString &))
const double * codeAsDoublePtr(OdUInt32 n=1) const
OdTrVisRendition::DisplayIdCodes code() const
OdTrVisDisplayListIterator(const OdTrVisDisplayId *pList, OdUInt32 nData)
const OdGeMatrix3d * codeAsMatrixPtr(OdUInt32 n=1) const
OdTrVisDisplayId & next(OdUInt32 n=1)
const OdTrVisDisplayId & cur() const
static OdUInt32 skipCodeSize(OdTrVisRendition::DisplayIdCodes dispCode)
static bool isIdentity(const OdGeMatrix3d &mtx)
static bool isEqual(const TObj &obj1, const TObj &obj2)
static const double kDisplayMultiDrawOrderMarker
@ kDisplayCodeNonExploded
@ kDisplayCodeUnhighlight
@ kDisplayCodeSelectionID
GLint GLint GLint GLsizei GLsizei GLenum format