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 ExVTP None()
Returns
Type | Description |
---|---|
ExVTP |
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 |