public class TLspLookAtTrackingCameraConstraint3D<T extends TLspViewXYZWorldTransformation3D> extends ALspCameraConstraint<T>
Constraint for TLspViewXYZWorldTransformation3D
that forces the camera to always look at a target point. The camera is free to move and rotate
in space, but its look-at vector is constrained to point to the target point.
By default, this camera doesn't track any objects. To do this
setTrackingPointProvider
should be called first.
Constructor and Description |
---|
TLspLookAtTrackingCameraConstraint3D()
Creates a look-at camera constraint for a given set of objects (whose motion is to be tracked).
|
Modifier and Type | Method and Description |
---|---|
void |
constrain(T aSource,
T aTargetSFCT)
Constrains the given view world transformation.
|
ALspTrackingPointProvider |
getTrackingPointProvider()
Returns the used tracking point provider, or
null if no tracking point
provider is used. |
void |
setMinDistance(double aMinDistance)
Sets the minimum distance to be kept by this camera between the eye and reference point.
|
void |
setTrackingPointProvider(ALspTrackingPointProvider aTrackingPointProvider)
Sets the tracking point provider.
|
addConstraintChangeListener, fireConstraintChangeEvent, removeConstraintChangeListener
public TLspLookAtTrackingCameraConstraint3D()
public ALspTrackingPointProvider getTrackingPointProvider()
null
if no tracking point
provider is used.null
if no tracking point
provider is used.setTrackingPointProvider(ALspTrackingPointProvider)
public void setTrackingPointProvider(ALspTrackingPointProvider aTrackingPointProvider)
aTrackingPointProvider
- a tracking point provider.getTrackingPointProvider()
public void setMinDistance(double aMinDistance)
aMinDistance
- the min distance allowed between eye and reference point.public void constrain(T aSource, T aTargetSFCT)
ALspCameraConstraint
Constrains the given view world transformation. This method can be implemented by
modifying aTargetSFCT
.
When the original view world transformation is
modified, the changes are first applied on a copy of the transformation (aTargetSFCT
).
This copy is passed to the constraints, which can also modify it. After all constraints are
evaluated, all changes are applied on the original transformation.
aSource
is the original transformation. It is given as context information.
constrain
in class ALspCameraConstraint<T extends TLspViewXYZWorldTransformation3D>
aSource
- the original transformation, on which all changes will be applied after
all constraints are evaluated. It is given as context information.aTargetSFCT
- the view transformation copy which contains the modifications. Constraints
should be applied on this transformation.