public apLinkedMatrix SetMatrixWrap(apMatrix matrixWrap, CALCULATE_TYPE calculateType, float lerpIfInterpolation = 1.0f) { _valueType = VALUE_TYPE.MatrixWrap; if (_matrixWrap == null) { _matrixWrap = new apMatrix(matrixWrap); } else { _matrixWrap.SetMatrix(matrixWrap); } _calculateType = calculateType; if (_calculateType == CALCULATE_TYPE.Interpolation) { _lerp = lerpIfInterpolation; } _weight = 1.0f; _isWeight = false; _weightCalAdded = 1.0f; _isWeightCalAdded = false; return(this); }
public apLinkedMatrix SetVertPosition(List <apModifiedVertex> modVerts, CALCULATE_TYPE calculateType, float lerpIfInterpolation = 1.0f) { _valueType = VALUE_TYPE.VertPos; _nVerts = modVerts.Count; if (_vertPos == null || _vertPos.Length != _nVerts) { _vertPos = new Vector2[_nVerts]; } for (int i = 0; i < _nVerts; i++) { _vertPos[i] = modVerts[i]._deltaPos; } _calculateType = calculateType; if (_calculateType == CALCULATE_TYPE.Interpolation) { _lerp = lerpIfInterpolation; } _weight = 1.0f; _isWeight = false; _weightCalAdded = 1.0f; _isWeightCalAdded = false; return(this); }
public apLinkedMatrix SetPassAndMerge(VALUE_TYPE valueType) { _valueType = valueType; //값이 별도로 존재하지 않는다. _calculateType = CALCULATE_TYPE.PassAndMerge; _weight = 1.0f; _isWeight = false; _weightCalAdded = 1.0f; _isWeightCalAdded = false; return(this); }
public apLinkedMatrix SetMatrix3x3(apMatrix3x3 matrix4x4, CALCULATE_TYPE calculateType, float lerpIfInterpolation = 1.0f) { _valueType = VALUE_TYPE.Matrix3x3; _matrix4x4 = matrix4x4; _calculateType = calculateType; if (_calculateType == CALCULATE_TYPE.Interpolation) { _lerp = lerpIfInterpolation; } _weight = 1.0f; _isWeight = false; _weightCalAdded = 1.0f; _isWeightCalAdded = false; return(this); }