bool CCurveCatmullRom3::Insert( int iIndex ) { if( iIndex < 0 || iIndex >= (int)m_oArrVertex.GetSize() ) return false; CVertex oV( m_oArrVertex[iIndex] ); const float fP = iIndex - 0.5f; oV.m_oPos = Proc( fP ); oV.m_oColor = ProcColor( fP ); oV.m_fWeight0 = ProcWeight0( fP ); //oV.m_uiVertex; // todo return m_oArrVertex.Insert( iIndex + 1, oV ); }
void MIFrd::ProcTb(mif *mp) { switch (mp->spec) { case rugroup: ProcRForm(mp); break; case runame: ProcRName(mp); break; case rucolor: ProcColor(); if (MIFval) MakeCtl(mp); break; case tbform: ProcTForm(mp); break; case tbname: ProcTName(mp); break; case tbcol: ProcTCol(mp); break; case tbcoln: ProcTCNum(); break; case tcmarg: ProcTCMarg(mp); break; case tclmt: CurrPgf.cplmtyp = (unc) (MIFval = (MIFval ? 0 : 1)); if (!TagPF) MakeCtl(mp); break; case tcrmt: CurrPgf.cprmtyp = (unc) (MIFval = (MIFval ? 0 : 1)); if (!TagPF) MakeCtl(mp); break; case tctmt: CurrPgf.cptmtyp = (unc) (MIFval = (MIFval ? 0 : 1)); if (!TagPF) MakeCtl(mp); break; case tcbmt: CurrPgf.cpbmtyp = (unc) (MIFval = (MIFval ? 0 : 1)); if (!TagPF) MakeCtl(mp); break; case tbalign: if (MIFval < 0) break; ProcTBAlign(mp); break; case tbplace: if ((MIFval < 1) || (MIFval > 4)) break; ProcTBPlace(mp); break; case tbblock: ProcTBBlock(mp); break; case tbplg: ProcTPlaceGroup(mp); break; case tbwcol: if (TbColWidCount == 0) MakeCtl(mp); else ProcTColWid(mp); break; case tbncol: TbColWidCount = (uns) MIFval; MakeCtl(mp); break; case tbhprop: ProcHRowProp(mp); break; case tbfprop: ProcFRowProp(mp); break; case tbhfrul: MIFval = RuleNameList.getnum(MIFstring); case tbhfprop: ProcHFRowProp(mp); break; case tbhfcolor: ProcColor(); if (MIFval) ProcHFRowProp(mp); break; case tbbrul: MIFval = RuleNameList.getnum(MIFstring); case tbbprop: ProcBRowProp(mp); break; case tbbcolor: ProcColor(); if (MIFval) ProcBRowProp(mp); break; case tbxcnum: TbXCol = (uns) MIFval; if (TbXColRule) ProcTXColRule(); break; case tbxcrul: TbXColRule = (uns) RuleNameList.getnum(MIFstring); if (TbXCol) ProcTXColRule(); break; case tbxcolor: ProcColor(); if (MIFval) MakeCtl(mp); break; case tbtplace: if (MIFval < 1) break; MakeCtl(mp); break; case tbanum: if (MIFval < 0) break; MakeCtl(mp); break; case tbggroup: ProcTbl(mp); break; case tbid: TbID = (uns) MIFval; break; case tbrtyp: TbSect = mp->dat; break; case tbrow: ProcTbRow(mp); break; case tbcell: ProcTbCell(mp); break; case tbrul: MIFval = RuleNameList.getnum(MIFstring); MakeCtl(mp); break; case tbcang: MIFval *= 100; MakeCtl(mp); break; case tbccon: break; case tbccolor: ProcColor(); if (MIFval) MakeCtl(mp); break; case atbl: ProcATbl(); break; case tcalign: if (MIFval < 0) break; CurrPgf.tcalgn = (unc) MIFval; MakeCtl(mp); break; default: assert(0); break; } }