# GetTransform class

Namespace: [Rhino.Input.Custom](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.input.custom.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public abstract class GetTransform : GetPoint
```

Used for getting a Transform

## Constructors

- [GetTransform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.gettransform/ctor.md)

## Properties

- [HaveTransform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.gettransform/havetransform.md)
- [ObjectList](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.gettransform/objectlist.md)
- [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.gettransform/transform.md)

## Methods

- [AddTransformObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.gettransform/addtransformobjects.md): Adds any objects you want transformed and grips you want transformed. Make sure no duplicates are in the list and that no grip owners are passed in as objects.
- [CalculateTransform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.gettransform/calculatetransform.md): Retrieves the final transformation. Override this virtual function to provide your own custom transformation method.
- [GetXform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.gettransform/getxform.md): Gets the Transformation. Call this after having set up options and so on.

## Inherited Members

- From [GetPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint.md): [DynamicDrawColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/dynamicdrawcolor.md), [FullFrameRedrawDuringGet](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/fullframeredrawduringget.md), [OsnapEventType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/osnapeventtype.md), [Tag](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/tag.md), [DynamicDraw](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/dynamicdraw.md), [MouseDown](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/mousedown.md), [MouseMove](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/mousemove.md), [PostDrawObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/postdrawobjects.md), [AddConstructionPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/addconstructionpoint.md), [AddConstructionPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/addconstructionpoints.md), [AddSnapPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/addsnappoint.md), [AddSnapPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/addsnappoints.md), [ClearConstraints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/clearconstraints.md), [ClearConstructionPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/clearconstructionpoints.md), [ClearSnapPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/clearsnappoints.md), [Constrain](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/constrain.md), [ConstrainDistanceFromBasePoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/constraindistancefrombasepoint.md), [ConstrainToConstructionPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/constraintoconstructionplane.md), [ConstrainToTargetPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/constraintotargetplane.md), [ConstrainToVirtualCPlaneIntersection](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/constraintovirtualcplaneintersection.md), [DrawLineFromPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/drawlinefrompoint.md), [EnableCurveSnapArrow](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/enablecurvesnaparrow.md), [EnableCurveSnapPerpBar](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/enablecurvesnapperpbar.md), [EnableCurveSnapTangentBar](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/enablecurvesnaptangentbar.md), [EnableDrawLineFromPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/enabledrawlinefrompoint.md), [EnableNoRedrawOnExit](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/enablenoredrawonexit.md), [EnableObjectSnapCursors](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/enableobjectsnapcursors.md), [EnableSnapToCurves](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/enablesnaptocurves.md), [Get](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/get.md), [GetConstructionPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/getconstructionpoints.md), [GetPlanarConstraint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/getplanarconstraint.md), [GetSnapPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/getsnappoints.md), [InterruptMouseMove](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/interruptmousemove.md), [NumberPreview](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/numberpreview.md), [OnDynamicDraw](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/ondynamicdraw.md), [OnMouseDown](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/onmousedown.md), [OnMouseMove](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/onmousemove.md), [OnPostDrawObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/onpostdrawobjects.md), [PermitConstraintOptions](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/permitconstraintoptions.md), [PermitElevatorMode](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/permitelevatormode.md), [PermitFromOption](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/permitfromoption.md), [PermitObjectSnap](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/permitobjectsnap.md), [PermitOrthoSnap](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/permitorthosnap.md), [PermitTabMode](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/permittabmode.md), [PointOnBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/pointonbrep.md), [PointOnCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/pointoncurve.md), [PointOnObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/pointonobject.md), [PointOnSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/pointonsurface.md), [SetBasePoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/setbasepoint.md), [SetCursor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/setcursor.md), [TryGetBasePoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getpoint/trygetbasepoint.md)
- From [GetBaseClass](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass.md): [AcceptColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/acceptcolor.md), [AcceptCustomMessage](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/acceptcustommessage.md), [AcceptEnterWhenDone](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/acceptenterwhendone.md), [AcceptNothing](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/acceptnothing.md), [AcceptNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/acceptnumber.md), [AcceptPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/acceptpoint.md), [AcceptString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/acceptstring.md), [AcceptUndo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/acceptundo.md), [AddOption](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoption.md), [AddOptionColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoptioncolor.md), [AddOptionDouble](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoptiondouble.md), [AddOptionEnumList<T>](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoptionenumlist.md), [AddOptionEnumSelectionList<T>](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoptionenumselectionlist.md), [AddOptionInteger](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoptioninteger.md), [AddOptionList](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoptionlist.md), [AddOptionString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoptionstring.md), [AddOptionToggle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/addoptiontoggle.md), [ClearCommandOptions](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/clearcommandoptions.md), [ClearDefault](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/cleardefault.md), [Color](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/color.md), [CommandResult](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/commandresult.md), [CustomMessage](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/custommessage.md), [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/dispose.md), [EnableTransparentCommands](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/enabletransparentcommands.md), [GetSelectedEnumValue<T>](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/getselectedenumvalue.md), [GetSelectedEnumValueFromSelectionList<T>](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/getselectedenumvaluefromselectionlist.md), [GotDefault](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/gotdefault.md), [Line2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/line2d.md), [Number](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/number.md), [Option](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/option.md), [OptionIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/optionindex.md), [PickRectangle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/pickrectangle.md), [Point](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/point.md), [Point2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/point2d.md), [Rectangle2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/rectangle2d.md), [Result](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/result.md), [SetCommandPrompt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setcommandprompt.md), [SetCommandPromptDefault](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setcommandpromptdefault.md), [SetDefaultColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setdefaultcolor.md), [SetDefaultInteger](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setdefaultinteger.md), [SetDefaultNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setdefaultnumber.md), [SetDefaultPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setdefaultpoint.md), [SetDefaultString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setdefaultstring.md), [SetOptionVaries](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setoptionvaries.md), [SetWaitDuration](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/setwaitduration.md), [StringResult](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/stringresult.md), [Vector](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/vector.md), [View](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getbaseclass/view.md)
