public bool Parse(BinaryReader br, string id)
    {
        switch (id)
        {
        case "Num":
            int num = br.ReadInt32();
            Keys  = new MegaBezVector3Key[num];
            Times = new float[num];
            break;

        case "Keys":
            for (int i = 0; i < Keys.Length; i++)
            {
                Keys[i]        = new MegaBezVector3Key();
                Keys[i].val    = MegaUtils.ReadP3(br);
                Keys[i].intan  = MegaUtils.ReadP3(br);
                Keys[i].outtan = MegaUtils.ReadP3(br);
                Times[i]       = br.ReadSingle();
            }
            InitKeys();
            break;
        }

        return(true);
    }
    void MakeKey(MegaBezVector3Key key, Vector3 pco, Vector3 pleft, Vector3 pright, Vector3 co, Vector3 left, Vector3 right)
    {
        Vector3 f1 = pco * 100.0f;
        Vector3 f2 = pright * 100.0f;
        Vector3 f3 = left * 100.0f;
        Vector3 f4 = co * 100.0f;

        key.val   = f1;
        key.coef3 = 3.0f * (f2 - f1);
        key.coef2 = 3.0f * (f1 - 2.0f * f2 + f3);
        key.coef1 = f4 - f1 + 3.0f * (f2 - f3);
    }
	void MakeKey(MegaBezVector3Key key, Vector3 pco, Vector3 pleft, Vector3 pright, Vector3 co, Vector3 left, Vector3 right)
	{
		Vector3 f1 = pco * 100.0f;
		Vector3 f2 = pright * 100.0f;
		Vector3 f3 = left * 100.0f;
		Vector3 f4 = co * 100.0f;

		key.val		= f1;
		key.coef3	= 3.0f * (f2 - f1);
		key.coef2	= 3.0f * (f1 - 2.0f * f2 + f3);
		key.coef1	= f4 - f1 + 3.0f * (f2 - f3);
	}
    public bool Parse(BinaryReader br, string id)
    {
        switch ( id )
        {
            case "Num":
                int num = br.ReadInt32();
                Keys = new MegaBezVector3Key[num];
                Times = new float[num];
                break;

            case "Keys":
                for ( int i = 0; i < Keys.Length; i++ )
                {
                    Keys[i] = new MegaBezVector3Key();
                    Keys[i].val = MegaUtils.ReadP3(br);
                    Keys[i].intan = MegaUtils.ReadP3(br);
                    Keys[i].outtan = MegaUtils.ReadP3(br);
                    Times[i] = br.ReadSingle();
                }
                InitKeys();
                break;
        }

        return true;
    }