Esempio n. 1
0
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 );
}
Esempio n. 2
0
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;
  }
}