25#ifndef ODTRRNDDIFFERENTIALTRANSITION
26#define ODTRRNDDIFFERENTIALTRANSITION
31#include "../TrVisStaticSharedPtr.h"
89 : m_bForward(bForward)
91 m_pOps = ops.getPtr(); m_nOps = ops.size();
92 m_nCaret = (bForward) ? 0 :
OdInt32(m_nOps) - 1;
94 bool done()
const {
return (m_nCaret < 0) || (
OdUInt32(m_nCaret) >= m_nOps); }
95 bool next() {
if (m_bForward) m_nCaret++;
else m_nCaret--;
return done(); }
96 bool back() {
if (m_bForward) m_nCaret--;
else m_nCaret++;
return done(); }
97 const Op &
op()
const {
return (m_bForward) ? m_pOps[m_nCaret].
m_fwd : m_pOps[m_nCaret].
m_back; }
OdSharedPtr< OdTrRndDifferentialTransition > OdTrRndDifferentialTransitionPtr
Iterator(const OdVector< Ops, OdMemoryAllocator< Ops > > &ops, bool bForward)
OdTrRndDifferentialTransition()
Op make_op(OdUInt32 opcode, OdInt32 val)
~OdTrRndDifferentialTransition()
Op make_op(OdUInt32 opcode, OdUInt32 val)
Op make_op(OdUInt32 opcode, float val)
void push_ops(const Op &fwd, const Op &back, bool bFwd=true)
OdVector< Ops, OdMemoryAllocator< Ops > > m_ops
Op make_op(OdUInt32 opcode, bool val)
Iterator iterator(bool bForward) const
Op make_op(OdUInt32 opcode)