CFrameTrack Module
A 3D line that describes the positions of your track in the workspace
Module
CFrameTrack {
CFrameTrack : CFrameTrack,
IsType : function,
PointToPoint : PointToPointCFrameTrack,
PointToPointBuilder : PointToPointCFrameTrackBuilder,
PointToPoint2 : PointToPointCFrameTrack2,
PointToPoint2Builder : PointToPointCFrameTrack2Builder,
Create : function,
CreateFromData : function,
CreateFromInstance : function
IsPoints: function,
GetPointsFromInstance : function
}
Factory Pattern
The CFrameTrack module provides methods to use a factory pattern for the following functions.
Here's a list of the names used and their corresponding classes:
{
PointToPoint = PointToPointCFrameTrack,
PointToPoint2 = PointToPoint2CFrameTrack,
}
Create
CFrameTrack.Create(value: Instance or table) -> CFrameTrack
CreateFromData
CFrameTrack.CreateFromData(data: table) -> CFrameTrack
CreateFromInstance
CFrameTrack.CreateFromInstance(instance: Instance) -> CFrameTrack
CFrameTrack
Base class for all CFrameTrack
{
Name: string,
Length: number,
}
Constructors
fromData
CFrameTrack.fromData(data: table) -> CFrameTrack
fromInstance
CFrameTrack.fromInstance(instance: Instance) -> CFrameTrack
PointToPoint
Extends CFrameTrack
{
IsCircuited: boolean,
CircuitRemainder: number,
LengthWithoutCircuitRemainder: number,
DistanceBetweenPoints: number,
Points: CFrame[]
}
Constructors
fromData
PointToPointCFrameTrack.fromData(data: table) -> PointToPointCFrameTrack
data
{
IsCircuited: boolean,
DistanceBetweenPoints: number,
Points: CFrame[]
}
fromInstance
PointToPointCFrameTrack.fromInstance(instance: Instance) -> PointToPointCFrameTrack
instance
{
TrackClass: StringValue,
// Value = "PointToPoint"
IsCircuited: BoolValue,
DistanceBetweenPoints: NumberValue,
Points: PointsInstance
}
PointToPointBuilder
Constructors
new
PointToPointBuilder.new() -> PointToPointBuilder
Methods
Build
PointToPointBuilder:Build() -> PointToPointCFrameTrack2
Finish
PointToPointBuilder:Build() -> PointToPointCFrameTrack2
WithPoints
PointToPointBuilder:WithPoints(points: CFrame[]) -> Self
WithPointsInstance
PointToPointBuilder:WithPointsInstance(pointsInstance: Instance) -> Self
WithIsCircuited
PointToPointBuilder:WithIsCircuited(value: boolean) -> Self
WithDistanceBetweenPoints
PointToPointBuilder:WithDistanceBetweenPoints(value: number) -> Self
PointToPoint2
Extends CFrameTrack
{
IsCircuited: boolean,
CircuitRemainder: number,
LengthWithoutCircuitRemainder: number,
Hasher: Hasher<CFrame>,
}
Constructors
fromData
PointToPointCFrameTrack2.fromData(data: table) -> PointToPointCFrameTrack
data
{
IsCircuited: boolean,
HashInterval: number,
Points: CFrame[]
}
fromInstance
PointToPointCFrameTrack2.fromInstance(instance: Instance) -> PointToPointCFrameTrack2
instance
{
TrackClass: StringValue,
// Value = "PointToPoint2"
IsCircuited: BoolValue,
HashInterval: ?NumberValue,
Points: PointsInstance,
}
PointToPoint2Builder
Constructors
new
PointToPoint2Builder.new() -> PointToPoint2Builder
Methods
Build
PointToPoint2Builder:Build() -> PointToPointCFrameTrack2
Finish
PointToPoint2Builder:Build() -> PointToPointCFrameTrack2
WithPoints
PointToPoint2Builder:WithPoints(points: CFrame[]) -> Self
WithPointsInstance
PointToPoint2Builder:WithPointsInstance(pointsInstance: Instance) -> Self
WithIsCircuited
PointToPoint2Builder:WithIsCircuited(value: boolean) -> Self
WithHashInterval
PointToPoint2Builder:WithHashInterval(interval: number) -> Self