Class VTPRepo
Repository for movement functions.
All functions are in two dimensions unless they have the "3D" suffix.
Inheritance
Inherited Members
Namespace: Danmokou.DMath.Functions
Assembly: cs.temp.dll.dll
Syntax
public static class VTPRepo
Fields
ExNoVTP
Declaration
public static readonly ExVTP ExNoVTP
Field Value
| Type | Description |
|---|---|
| ExVTP |
NoVTP
Declaration
public static readonly VTP NoVTP
Field Value
| Type | Description |
|---|---|
| VTP |
Methods
DOffset(ReflectEx.Hoist<Vector2>, ReflectEx.Hoist<Vector2>, ExBPY, ExBPY)
Offset function for dependent (empty-guided) fires.
Reduces to offset (RADIUS * (@ HOISTDIR p)) (@ HOISTLOC p)
Declaration
public static ExVTP DOffset(ReflectEx.Hoist<Vector2> hoistLoc, ReflectEx.Hoist<Vector2> hoistDir, ExBPY indexer, ExBPY radius)
Parameters
| Type | Name | Description |
|---|---|---|
| ReflectEx.Hoist<Vector2> | hoistLoc | Location of empty guider |
| ReflectEx.Hoist<Vector2> | hoistDir | Direction of empty guider |
| ExBPY | indexer | Indexer function for public hoisting |
| ExBPY | radius | Radial offset of guided |
Returns
| Type | Description |
|---|---|
| ExVTP |
DTPOffset(ReflectEx.Hoist<Vector2>, ReflectEx.Hoist<Vector2>, ExBPY, ExTP)
Offset function for dependent (empty-guided) fires.
Reduces to offset (rotatev (@ HOISTDIR p) OFFSET) (@ HOISTLOC p)
Declaration
public static ExVTP DTPOffset(ReflectEx.Hoist<Vector2> hoistLoc, ReflectEx.Hoist<Vector2> hoistDir, ExBPY indexer, ExTP offset)
Parameters
| Type | Name | Description |
|---|---|---|
| ReflectEx.Hoist<Vector2> | hoistLoc | Location of empty guider |
| ReflectEx.Hoist<Vector2> | hoistDir | Direction of empty guider |
| ExBPY | indexer | Indexer function for public hoisting |
| ExTP | offset | Parametric offset of guided |
Returns
| Type | Description |
|---|---|
| ExVTP |
If(ExPred, ExVTP, ExVTP)
Switch between path functions based on a condition.
You can use this to smoothly switch from offset to velocity equations,
but switching from velocity to offset will give you strange results.
Declaration
public static ExVTP If(ExPred cond, ExVTP ifTrue, ExVTP ifFalse)
Parameters
| Type | Name | Description |
|---|---|---|
| ExPred | cond | |
| ExVTP | ifTrue | |
| ExVTP | ifFalse |
Returns
| Type | Description |
|---|---|
| ExVTP |
IsNone(VTP)
Declaration
public static bool IsNone(this VTP func)
Parameters
| Type | Name | Description |
|---|---|---|
| VTP | func |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Let(ReflectEx.Alias[], ExVTP)
Bind values to the aliases and then execute the inner content with those aliases.
Declaration
public static ExVTP Let(ReflectEx.Alias[] aliases, ExVTP inner)
Parameters
| Type | Name | Description |
|---|---|---|
| ReflectEx.Alias[] | aliases | |
| ExVTP | inner |
Returns
| Type | Description |
|---|---|
| ExVTP |
LetFloats((String, ExBPY)[], ExVTP)
Bind float values to the aliases and then execute the inner content with those aliases.
Declaration
public static ExVTP LetFloats((string, ExBPY)[] aliases, ExVTP inner)
Parameters
| Type | Name | Description |
|---|---|---|
| System.ValueTuple<System.String, ExBPY>[] | aliases | |
| ExVTP | inner |
Returns
| Type | Description |
|---|---|
| ExVTP |
LetV2s((String, ExTP)[], ExVTP)
Bind vector2 values to the aliases and then execute the inner content with those aliases.
Declaration
public static ExVTP LetV2s((string, ExTP)[] aliases, ExVTP inner)
Parameters
| Type | Name | Description |
|---|---|---|
| System.ValueTuple<System.String, ExTP>[] | aliases | |
| ExVTP | inner |
Returns
| Type | Description |
|---|---|
| ExVTP |
None()
No movement.
Declaration
public static VTP None()
Returns
| Type | Description |
|---|---|
| VTP |
NROffset(ExTP)
Movement with Cartesian nonrotational offset only.
Declaration
public static ExVTP NROffset(ExTP nrp)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP | nrp | Nonrotational offset parametric |
Returns
| Type | Description |
|---|---|
| ExVTP |
NRVelocity(ExTP)
Movement with Cartesian nonrotational velocity only.
Declaration
public static ExVTP NRVelocity(ExTP nrv)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP | nrv | Nonrotational velocity parametric |
Returns
| Type | Description |
|---|---|
| ExVTP |
Null()
No movement.
Declaration
public static ExVTP Null()
Returns
| Type | Description |
|---|---|
| ExVTP |
Offset(ExTP, ExTP)
Movement with Cartesian rotational offset and nonrotational offset.
Declaration
public static ExVTP Offset(ExTP rp, ExTP nrp)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP | rp | Rotational offset parametric |
| ExTP | nrp | Nonrotational offset parametric |
Returns
| Type | Description |
|---|---|
| ExVTP |
Offset3D(ExTP3, ExTP3)
Movement with Cartesian rotational offset and nonrotational offset in three dimensions.
Declaration
public static ExVTP Offset3D(ExTP3 rp, ExTP3 nrp)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP3 | rp | Rotational offset parametric |
| ExTP3 | nrp | Nonrotational offset parametric |
Returns
| Type | Description |
|---|---|
| ExVTP |
Polar(ExBPY, ExBPY)
Movement with polar rotational offset.
Declaration
public static ExVTP Polar(ExBPY radius, ExBPY theta)
Parameters
| Type | Name | Description |
|---|---|---|
| ExBPY | radius | Radius function |
| ExBPY | theta | Theta function (degrees) |
Returns
| Type | Description |
|---|---|
| ExVTP |
Polar2(ExTP)
Movement with polar rotational offset. Uses a vector2 instead of two floats. (This is slower.)
Declaration
public static ExVTP Polar2(ExTP rt)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP | rt | Radius function (X), Theta function (Y) (degrees) |
Returns
| Type | Description |
|---|---|
| ExVTP |
ROffset(ExTP)
Movement with Cartesian rotational offset only.
Declaration
public static ExVTP ROffset(ExTP rp)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP | rp | Rotational offset parametric |
Returns
| Type | Description |
|---|---|
| ExVTP |
RVelocity(ExTP)
Movement with Cartesian rotational velocity only.
Declaration
public static ExVTP RVelocity(ExTP rv)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP | rv | Rotational velocity parametric |
Returns
| Type | Description |
|---|---|
| ExVTP |
Velocity(ExTP, ExTP)
Movement with Cartesian rotational velocity and nonrotational velocity.
Declaration
public static ExVTP Velocity(ExTP rv, ExTP nrv)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP | rv | Rotational velocity parametric |
| ExTP | nrv | Nonrotational velocity parametric |
Returns
| Type | Description |
|---|---|
| ExVTP |
Velocity3D(ExTP3, ExTP3)
Movement with Cartesian rotational velocity and nonrotational velocity in three dimensions.
Declaration
public static ExVTP Velocity3D(ExTP3 rv, ExTP3 nrv)
Parameters
| Type | Name | Description |
|---|---|---|
| ExTP3 | rv | Rotational velocity parametric |
| ExTP3 | nrv | Nonrotational velocity parametric |
Returns
| Type | Description |
|---|---|
| ExVTP |
VPolar(ExBPY, ExBPY)
Movement with polar rotational velocity.
Note: I'm pretty sure this doesn't work at all.
Declaration
public static ExVTP VPolar(ExBPY radius, ExBPY theta)
Parameters
| Type | Name | Description |
|---|---|---|
| ExBPY | radius | Radius derivative function |
| ExBPY | theta | Theta derivative function (degrees) |
Returns
| Type | Description |
|---|---|
| ExVTP |