private PMXFormat.Joint ReadJoint()
    {
        PMXFormat.Joint result = new PMXFormat.Joint();
        result.name           = ReadString();
        result.english_name   = ReadString();
        result.operation_type = (PMXFormat.Joint.OperationType)binary_reader_.ReadByte();
        switch (result.operation_type)
        {
        case PMXFormat.Joint.OperationType.Spring6DOF:
            result.rigidbody_a         = CastIntRead(binary_reader_, format_.header.rigidbodyIndexSize);
            result.rigidbody_b         = CastIntRead(binary_reader_, format_.header.rigidbodyIndexSize);
            result.position            = ReadSinglesToVector3(binary_reader_);
            result.rotation            = ReadSinglesToVector3(binary_reader_);
            result.constrain_pos_lower = ReadSinglesToVector3(binary_reader_);
            result.constrain_pos_upper = ReadSinglesToVector3(binary_reader_);
            result.constrain_rot_lower = ReadSinglesToVector3(binary_reader_);
            result.constrain_rot_upper = ReadSinglesToVector3(binary_reader_);
            result.spring_position     = ReadSinglesToVector3(binary_reader_);
            result.spring_rotation     = ReadSinglesToVector3(binary_reader_);
            break;

        default:
            //empty.
            break;
        }
        return(result);
    }
 private static PMXFormat.Joint ConvertJoint(PMDFormat.Joint pmd_joint)
 {
     PMXFormat.Joint result = new PMXFormat.Joint();
     result.name                = pmd_joint.joint_name;
     result.english_name        = "";
     result.operation_type      = PMXFormat.Joint.OperationType.Spring6DOF;
     result.rigidbody_a         = pmd_joint.joint_rigidbody_a;
     result.rigidbody_b         = pmd_joint.joint_rigidbody_b;
     result.position            = pmd_joint.joint_pos;
     result.rotation            = pmd_joint.joint_rot;
     result.constrain_pos_lower = pmd_joint.constrain_pos_1;
     result.constrain_pos_upper = pmd_joint.constrain_pos_2;
     result.constrain_rot_lower = pmd_joint.constrain_rot_1;
     result.constrain_rot_upper = pmd_joint.constrain_rot_2;
     result.spring_position     = pmd_joint.spring_pos;
     result.spring_rotation     = pmd_joint.spring_rot;
     return(result);
 }
예제 #3
0
	private PMXFormat.Joint ReadJoint() {
		PMXFormat.Joint result = new PMXFormat.Joint();
		result.name = ReadString();
		result.english_name = ReadString();
		result.operation_type = (PMXFormat.Joint.OperationType)binary_reader_.ReadByte();
		switch (result.operation_type) {
		case PMXFormat.Joint.OperationType.Spring6DOF:
			result.rigidbody_a = CastIntRead(binary_reader_, format_.header.rigidbodyIndexSize);
			result.rigidbody_b = CastIntRead(binary_reader_, format_.header.rigidbodyIndexSize);
			result.position = ReadSinglesToVector3(binary_reader_);
			result.rotation = ReadSinglesToVector3(binary_reader_);
			result.constrain_pos_lower = ReadSinglesToVector3(binary_reader_);
			result.constrain_pos_upper = ReadSinglesToVector3(binary_reader_);
			result.constrain_rot_lower = ReadSinglesToVector3(binary_reader_);
			result.constrain_rot_upper = ReadSinglesToVector3(binary_reader_);
			result.spring_position = ReadSinglesToVector3(binary_reader_);
			result.spring_rotation = ReadSinglesToVector3(binary_reader_);
			break;
		default:
			//empty.
			break;
		}
		return result;
	}
	private static PMXFormat.Joint ConvertJoint(PMDFormat.Joint pmd_joint) {
		PMXFormat.Joint result = new PMXFormat.Joint();
		result.name = pmd_joint.joint_name;
		result.english_name = "";
		result.operation_type = PMXFormat.Joint.OperationType.Spring6DOF;
		result.rigidbody_a = pmd_joint.joint_rigidbody_a;
		result.rigidbody_b = pmd_joint.joint_rigidbody_b;
		result.position = pmd_joint.joint_pos;
		result.rotation = pmd_joint.joint_rot;
		result.constrain_pos_lower = pmd_joint.constrain_pos_1;
		result.constrain_pos_upper = pmd_joint.constrain_pos_2;
		result.constrain_rot_lower = pmd_joint.constrain_rot_1;
		result.constrain_rot_upper = pmd_joint.constrain_rot_2;
		result.spring_position = pmd_joint.spring_pos;
		result.spring_rotation = pmd_joint.spring_rot;
		return result;
	}