public static gpTrsf GetRotateTrsf(Point3D rotateAngle) { var angle = DegreesToRadians(rotateAngle.X); var rotateXTrsf = GetRotateXTrsf(angle); angle = DegreesToRadians(rotateAngle.Y); var rotateYTrsf = GetRotateYTrsf(angle); angle = DegreesToRadians(rotateAngle.Z); var rotateZTrsf = GetRotateZTrsf(angle); var rotateTrsf = new gpTrsf(); rotateTrsf.Multiply(rotateZTrsf); rotateTrsf.Multiply(rotateYTrsf); rotateTrsf.Multiply(rotateXTrsf); return(rotateTrsf); }
public static gpTrsf ConvertToGlobalTransformation(gpTrsf currentAxisSystem, gpTrsf currentTransformation) { var transformedCoordinates = new gpTrsf(); transformedCoordinates = currentAxisSystem; transformedCoordinates.Multiply(currentTransformation); transformedCoordinates.SetValues( 1, 0, 0, transformedCoordinates.Value(1, 4), 0, 1, 0, transformedCoordinates.Value(2, 4), 0, 0, 1, transformedCoordinates.Value(3, 4), _angularPrecision, _distancePrecision ); return(transformedCoordinates); }
private gpTrsf ExtractNodeTransform() { if (Shape == null) { return(null); } gpTrsf transform; var transformInter = Parent.Get <TransformationInterpreter>(); var baseTransform = new gpTrsf(); if (transformInter != null) { transform = transformInter.CurrTransform; baseTransform.Multiply(transform); } transform = baseTransform; return(transform); }
private void ApplyMatrix(gpTrsf matrix) { _currTransform.Multiply(matrix); }