Documentation ¶
Index ¶
- func DetectCircle(circle1 *geometry.Circle, transform1 *geometry.Transform, ...) bool
- func DetectCirclePenetration(circle1 *geometry.Circle, transform1 *geometry.Transform, ...) bool
- func DistanceCircle(circle1 *geometry.Circle, transform1 *geometry.Transform, ...) bool
- func RaycastCircle(ray *geometry.Ray, maxLength float64, circle *geometry.Circle, ...) bool
- func RaycastSegment(ray *geometry.Ray, maxLength float64, segment *geometry.Segment, ...) bool
- type AbstractFallbackCondition
- type DistanceDetector
- type EPA
- type EPAEdge
- type FallbackConditionSortable
- type FallbackConditioner
- type FallbackNarrowphaseDetector
- func NewFallbackNarrowphaseDetector(primaryNarrowphaseDetector, fallbackNarrowphaseDetector NarrowphaseDetector) *FallbackNarrowphaseDetector
- func NewFallbackNarrowphaseDetectorFallbackConditions(primaryNarrowphaseDetector, fallbackNarrowphaseDetector NarrowphaseDetector, ...) *FallbackNarrowphaseDetector
- func (f *FallbackNarrowphaseDetector) AddCondition(condition FallbackConditioner)
- func (f *FallbackNarrowphaseDetector) ContainsCondition(condition FallbackConditioner) bool
- func (f *FallbackNarrowphaseDetector) Detect(convex1 geometry.Convexer, transform1 *geometry.Transform, ...) bool
- func (f *FallbackNarrowphaseDetector) DetectPenetration(convex1 geometry.Convexer, transform1 *geometry.Transform, ...) bool
- func (f *FallbackNarrowphaseDetector) GetCondition(index int) FallbackConditioner
- func (f *FallbackNarrowphaseDetector) GetConditionCount() int
- func (f *FallbackNarrowphaseDetector) GetFallbackNarrowphaseDetector() NarrowphaseDetector
- func (f *FallbackNarrowphaseDetector) GetPrimaryNarrowphaseDetector() NarrowphaseDetector
- func (f *FallbackNarrowphaseDetector) IsFallbackRequired(convex1, convex2 geometry.Convexer) bool
- func (f *FallbackNarrowphaseDetector) RemoveCondition(condition FallbackConditioner) bool
- type GJK
- func (g *GJK) Detect(convex1 geometry.Convexer, transform1 *geometry.Transform, ...) bool
- func (g *GJK) DetectPenetration(convex1 geometry.Convexer, transform1 *geometry.Transform, ...) bool
- func (g *GJK) Distance(convex1 geometry.Convexer, transform1 *geometry.Transform, ...) bool
- func (g *GJK) GetDistanceEpsilon() float64
- func (g *GJK) GetMaxIterations() int
- func (g *GJK) GetMinkowskiPenetrationSolver() MinkowskiPenetrationSolver
- func (g *GJK) Raycast(ray *geometry.Ray, maxLength float64, convex geometry.Convexer, ...) bool
- func (g *GJK) SetDistanceEpsilon(distanceEpsilon float64)
- func (g *GJK) SetMaxIterations(maxIterations int)
- func (g *GJK) SetMinkowskiPenetrationSolver(minkowskiPenetrationSolver MinkowskiPenetrationSolver)
- type MinkowskiPenetrationSolver
- type MinkowskiSum
- func (m *MinkowskiSum) GetConvex1() geometry.Convexer
- func (m *MinkowskiSum) GetConvex2() geometry.Convexer
- func (m *MinkowskiSum) GetTransform1() *geometry.Transform
- func (m *MinkowskiSum) GetTransform2() *geometry.Transform
- func (m *MinkowskiSum) SetConvex1(convex1 geometry.Convexer)
- func (m *MinkowskiSum) SetConvex2(convex2 geometry.Convexer)
- func (m *MinkowskiSum) SetTransform1(transform1 *geometry.Transform)
- func (m *MinkowskiSum) SetTransform2(transform2 *geometry.Transform)
- func (m *MinkowskiSum) String() string
- func (m *MinkowskiSum) Support(direction *geometry.Vector2) *geometry.Vector2
- func (m *MinkowskiSum) SupportMinkowskiSumPoint(direction *geometry.Vector2, p *MinkowskiSumPoint)
- type MinkowskiSumPoint
- type NarrowphaseDetector
- type PairwiseTypedFallbackCondition
- type Penetration
- type Raycast
- func (r *Raycast) Clear()
- func (r *Raycast) GetDistance() float64
- func (r *Raycast) GetNormal() *geometry.Vector2
- func (r *Raycast) GetPoint() *geometry.Vector2
- func (r *Raycast) SetDistance(distance float64)
- func (r *Raycast) SetNormal(normal *geometry.Vector2)
- func (r *Raycast) SetPoint(point *geometry.Vector2)
- type RaycastDetector
- type SAT
- type Separation
- func (s *Separation) Clear()
- func (s *Separation) GetDistance() float64
- func (s *Separation) GetNormal() *geometry.Vector2
- func (s *Separation) GetPoint1() *geometry.Vector2
- func (s *Separation) GetPoint2() *geometry.Vector2
- func (s *Separation) SetDistance(distance float64)
- func (s *Separation) SetNormal(normal *geometry.Vector2)
- func (s *Separation) SetPoint1(point1 *geometry.Vector2)
- func (s *Separation) SetPoint2(point2 *geometry.Vector2)
- type SingleTypedFallbackCondition
- type TypedFallbackCondition
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DetectCircle ¶
func DetectCirclePenetration ¶
func DistanceCircle ¶
func RaycastCircle ¶
Types ¶
type AbstractFallbackCondition ¶
type AbstractFallbackCondition struct {
// contains filtered or unexported fields
}
func (*AbstractFallbackCondition) CompareTo ¶
func (a *AbstractFallbackCondition) CompareTo(o FallbackConditioner) int
func (*AbstractFallbackCondition) GetSortIndex ¶
func (a *AbstractFallbackCondition) GetSortIndex() int
func (*AbstractFallbackCondition) InitAbstractFallbackCondition ¶
func (a *AbstractFallbackCondition) InitAbstractFallbackCondition(sortIndex int)
type DistanceDetector ¶
type EPA ¶
type EPA struct {
// contains filtered or unexported fields
}
func (*EPA) GetDistanceEpsilon ¶
func (*EPA) GetMaxIterations ¶
func (*EPA) GetPenetration ¶
func (e *EPA) GetPenetration(simplex *[]*geometry.Vector2, minkowskiSum *MinkowskiSum, penetration *Penetration)
func (*EPA) SetDistanceEpsilon ¶
func (*EPA) SetMaxIterations ¶
type FallbackConditionSortable ¶
type FallbackConditionSortable []FallbackConditioner
func (*FallbackConditionSortable) Len ¶
func (f *FallbackConditionSortable) Len() int
func (*FallbackConditionSortable) Less ¶
func (f *FallbackConditionSortable) Less(i, j int) bool
func (*FallbackConditionSortable) Swap ¶
func (f *FallbackConditionSortable) Swap(i, j int)
type FallbackConditioner ¶
type FallbackNarrowphaseDetector ¶
type FallbackNarrowphaseDetector struct {
// contains filtered or unexported fields
}
func NewFallbackNarrowphaseDetector ¶
func NewFallbackNarrowphaseDetector(primaryNarrowphaseDetector, fallbackNarrowphaseDetector NarrowphaseDetector) *FallbackNarrowphaseDetector
func NewFallbackNarrowphaseDetectorFallbackConditions ¶
func NewFallbackNarrowphaseDetectorFallbackConditions(primaryNarrowphaseDetector, fallbackNarrowphaseDetector NarrowphaseDetector, conditions []FallbackConditioner) *FallbackNarrowphaseDetector
func (*FallbackNarrowphaseDetector) AddCondition ¶
func (f *FallbackNarrowphaseDetector) AddCondition(condition FallbackConditioner)
func (*FallbackNarrowphaseDetector) ContainsCondition ¶
func (f *FallbackNarrowphaseDetector) ContainsCondition(condition FallbackConditioner) bool
func (*FallbackNarrowphaseDetector) DetectPenetration ¶
func (*FallbackNarrowphaseDetector) GetCondition ¶
func (f *FallbackNarrowphaseDetector) GetCondition(index int) FallbackConditioner
func (*FallbackNarrowphaseDetector) GetConditionCount ¶
func (f *FallbackNarrowphaseDetector) GetConditionCount() int
func (*FallbackNarrowphaseDetector) GetFallbackNarrowphaseDetector ¶
func (f *FallbackNarrowphaseDetector) GetFallbackNarrowphaseDetector() NarrowphaseDetector
func (*FallbackNarrowphaseDetector) GetPrimaryNarrowphaseDetector ¶
func (f *FallbackNarrowphaseDetector) GetPrimaryNarrowphaseDetector() NarrowphaseDetector
func (*FallbackNarrowphaseDetector) IsFallbackRequired ¶
func (f *FallbackNarrowphaseDetector) IsFallbackRequired(convex1, convex2 geometry.Convexer) bool
func (*FallbackNarrowphaseDetector) RemoveCondition ¶
func (f *FallbackNarrowphaseDetector) RemoveCondition(condition FallbackConditioner) bool
type GJK ¶
type GJK struct {
// contains filtered or unexported fields
}
func NewGJKMinkowskiPenetrationSolver ¶
func NewGJKMinkowskiPenetrationSolver(minkowskiPenetrationSolver MinkowskiPenetrationSolver) *GJK
func (*GJK) DetectPenetration ¶
func (*GJK) GetDistanceEpsilon ¶
func (*GJK) GetMaxIterations ¶
func (*GJK) GetMinkowskiPenetrationSolver ¶
func (g *GJK) GetMinkowskiPenetrationSolver() MinkowskiPenetrationSolver
func (*GJK) SetDistanceEpsilon ¶
func (*GJK) SetMaxIterations ¶
func (*GJK) SetMinkowskiPenetrationSolver ¶
func (g *GJK) SetMinkowskiPenetrationSolver(minkowskiPenetrationSolver MinkowskiPenetrationSolver)
type MinkowskiPenetrationSolver ¶
type MinkowskiPenetrationSolver interface {
GetPenetration(simplex *[]*geometry.Vector2, minkowskiSum *MinkowskiSum, penetration *Penetration)
}
type MinkowskiSum ¶
type MinkowskiSum struct {
// contains filtered or unexported fields
}
func NewMinkowskiSum ¶
func (*MinkowskiSum) GetConvex1 ¶
func (m *MinkowskiSum) GetConvex1() geometry.Convexer
func (*MinkowskiSum) GetConvex2 ¶
func (m *MinkowskiSum) GetConvex2() geometry.Convexer
func (*MinkowskiSum) GetTransform1 ¶
func (m *MinkowskiSum) GetTransform1() *geometry.Transform
func (*MinkowskiSum) GetTransform2 ¶
func (m *MinkowskiSum) GetTransform2() *geometry.Transform
func (*MinkowskiSum) SetConvex1 ¶
func (m *MinkowskiSum) SetConvex1(convex1 geometry.Convexer)
func (*MinkowskiSum) SetConvex2 ¶
func (m *MinkowskiSum) SetConvex2(convex2 geometry.Convexer)
func (*MinkowskiSum) SetTransform1 ¶
func (m *MinkowskiSum) SetTransform1(transform1 *geometry.Transform)
func (*MinkowskiSum) SetTransform2 ¶
func (m *MinkowskiSum) SetTransform2(transform2 *geometry.Transform)
func (*MinkowskiSum) String ¶
func (m *MinkowskiSum) String() string
func (*MinkowskiSum) Support ¶
func (m *MinkowskiSum) Support(direction *geometry.Vector2) *geometry.Vector2
func (*MinkowskiSum) SupportMinkowskiSumPoint ¶
func (m *MinkowskiSum) SupportMinkowskiSumPoint(direction *geometry.Vector2, p *MinkowskiSumPoint)
type MinkowskiSumPoint ¶
type MinkowskiSumPoint struct {
// contains filtered or unexported fields
}
func NewMinkowskiSumPoint ¶
func NewMinkowskiSumPoint() *MinkowskiSumPoint
func NewMinkowskiSumPointVector2Vector2 ¶
func NewMinkowskiSumPointVector2Vector2(p1, p2 *geometry.Vector2) *MinkowskiSumPoint
func (*MinkowskiSumPoint) SetMinkowskiSumPoint ¶
func (m *MinkowskiSumPoint) SetMinkowskiSumPoint(p *MinkowskiSumPoint)
func (*MinkowskiSumPoint) SetVector2s ¶
func (m *MinkowskiSumPoint) SetVector2s(p1, p2 *geometry.Vector2)
type NarrowphaseDetector ¶
type NarrowphaseDetector interface { DetectPenetration(convex1 geometry.Convexer, transform1 *geometry.Transform, convex2 geometry.Convexer, transform2 *geometry.Transform, penetration *Penetration) bool Detect(convex1 geometry.Convexer, transform1 *geometry.Transform, convex2 geometry.Convexer, transform2 *geometry.Transform) bool }
type PairwiseTypedFallbackCondition ¶
type PairwiseTypedFallbackCondition struct { TypedFallbackCondition // contains filtered or unexported fields }
func NewPairwiseTypedFallbackCondition ¶
func NewPairwiseTypedFallbackCondition(type1, type2 reflect.Type) *PairwiseTypedFallbackCondition
func NewPairwiseTypedFallbackConditionInt ¶
func NewPairwiseTypedFallbackConditionInt(type1, type2 reflect.Type, sortIndex int) *PairwiseTypedFallbackCondition
type Penetration ¶
type Penetration struct {
// contains filtered or unexported fields
}
func NewPenetration ¶
func NewPenetration() *Penetration
func (*Penetration) Clear ¶
func (p *Penetration) Clear()
func (*Penetration) GetDepth ¶
func (p *Penetration) GetDepth() float64
func (*Penetration) GetNormal ¶
func (p *Penetration) GetNormal() *geometry.Vector2
func (*Penetration) SetDepth ¶
func (p *Penetration) SetDepth(depth float64)
func (*Penetration) SetNormal ¶
func (p *Penetration) SetNormal(normal *geometry.Vector2)
func (*Penetration) String ¶
func (p *Penetration) String() string
type Raycast ¶
type Raycast struct {
// contains filtered or unexported fields
}
func NewRaycast ¶
func NewRaycast() *Raycast
func (*Raycast) GetDistance ¶
func (*Raycast) SetDistance ¶
type RaycastDetector ¶
type Separation ¶
type Separation struct {
// contains filtered or unexported fields
}
func NewSeparation ¶
func NewSeparation() *Separation
func (*Separation) Clear ¶
func (s *Separation) Clear()
func (*Separation) GetDistance ¶
func (s *Separation) GetDistance() float64
func (*Separation) GetNormal ¶
func (s *Separation) GetNormal() *geometry.Vector2
func (*Separation) GetPoint1 ¶
func (s *Separation) GetPoint1() *geometry.Vector2
func (*Separation) GetPoint2 ¶
func (s *Separation) GetPoint2() *geometry.Vector2
func (*Separation) SetDistance ¶
func (s *Separation) SetDistance(distance float64)
func (*Separation) SetNormal ¶
func (s *Separation) SetNormal(normal *geometry.Vector2)
func (*Separation) SetPoint1 ¶
func (s *Separation) SetPoint1(point1 *geometry.Vector2)
func (*Separation) SetPoint2 ¶
func (s *Separation) SetPoint2(point2 *geometry.Vector2)
type SingleTypedFallbackCondition ¶
type SingleTypedFallbackCondition struct { TypedFallbackCondition // contains filtered or unexported fields }
func NewSingleTypedFallbackCondition ¶
func NewSingleTypedFallbackCondition(compareType reflect.Type) *SingleTypedFallbackCondition
func NewSingleTypedFallbackConditionInt ¶
func NewSingleTypedFallbackConditionInt(compareType reflect.Type, sortIndex int) *SingleTypedFallbackCondition
type TypedFallbackCondition ¶
type TypedFallbackCondition struct {
AbstractFallbackCondition
}
func (*TypedFallbackCondition) InitTypedFallbackCondition ¶
func (t *TypedFallbackCondition) InitTypedFallbackCondition()
func (*TypedFallbackCondition) InitTypedFallbackConditionInt ¶
func (t *TypedFallbackCondition) InitTypedFallbackConditionInt(sortIndex int)
Source Files ¶
- AbstractFallbackCondition.go
- CircleDetector.go
- DistanceDetector.go
- EPA.go
- FallbackConditioner.go
- FallbackNarrowphaseDetector.go
- GJK.go
- MinkowskiPenetrationSolver.go
- MinkowskiSum.go
- NarrowPhaseDetector.go
- PairwiseTypedFallbackCondition.go
- Penetration.go
- Raycast.go
- RaycastDetector.go
- SAT.go
- SegmentDetector.go
- Separation.go
- SingleTypedFallbackCondition.go
- TypedFallbackCondition.go
Click to show internal directories.
Click to hide internal directories.