JNISpice
version 2.0.0

spice.basic
Enum DSKToleranceKey

java.lang.Object
  extended by java.lang.Enum<DSKToleranceKey>
      extended by spice.basic.DSKToleranceKey
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<DSKToleranceKey>

public enum DSKToleranceKey
extends java.lang.Enum<DSKToleranceKey>

Enum DSKToleranceKey represents keywords associated with tolerances used by the DSK subsystem.

Version 1.0.0 08-NOV-2016 (NJB)


Enum Constant Summary
KEYAMG
          Angular rounding margin keyword.
KEYLAL
          Longitude alias margin keyword.
KEYPTM
          Surface-point membership margin keyword.
KEYSGR
          Greedy segment selection factor keyword.
KEYSPM
          Segment pad margin keyword.
KEYXFR
          DSK Type 2 plate expansion factor keyword.
 
Method Summary
 int getIntKeyword()
          Return integer keyword parameter used by CSPICE.
static DSKToleranceKey valueOf(java.lang.String name)
          Returns the enum constant of this type with the specified name.
static DSKToleranceKey[] values()
          Returns an array containing the constants of this enum type, in the order they're declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

KEYXFR

public static final DSKToleranceKey KEYXFR
DSK Type 2 plate expansion factor keyword.

The DSK type 2 plate expansion factor `XFRACT' is used to slightly expand plates read from DSK type 2 segments in order to perform ray-plate intercept computations.

This expansion is performed to prevent rays from passing through a target object without any intersection being detected. Such "false miss" conditions can occur due to round-off errors.

Plate expansion is done by computing the difference vectors between a plate's vertices and the plate's centroid, scaling those differences by (1 + XFRACT), then producing new vertices by adding the scaled differences to the centroid. This process doesn't affect the stored DSK data.

Plate expansion is also performed when surface points are mapped to plates on which they lie, as is done for illumination angle computations.

This parameter is user-adjustable.


KEYSGR

public static final DSKToleranceKey KEYSGR
Greedy segment selection factor keyword.

The greedy segment selection factor `SGREED' is used to slightly expand DSK segment boundaries in order to select segments to consider for ray-surface intercept computations. The effect of this factor is to make the multi-segment intercept algorithm consider all segments that are sufficiently close to the ray of interest, even if the ray misses those segments.

This expansion is performed to prevent rays from passing through a target object without any intersection being detected. Such "false miss" conditions can occur due to round-off errors.

The exact way this parameter is used is dependent on the coordinate system of the segment to which it applies, and the DSK software implementation. This parameter may be changed in a future version of SPICE.

This parameter is user-adjustable.


KEYSPM

public static final DSKToleranceKey KEYSPM
Segment pad margin keyword.

The segment pad margin is a scale factor used to determine when a point resulting from a ray-surface intercept computation, if outside the segment's boundaries, is close enough to the segment to be considered a valid result.

This margin is required in order to make DSK segment padding (surface data extending slightly beyond the segment's coordinate boundaries) usable: if a ray intersects the pad surface outside the segment boundaries; the pad is useless if the intercept is automatically rejected.

However, an excessively large value for this parameter is detrimental, since a ray-surface intercept solution found "in" a segment will supersede solutions in segments farther from the ray's vertex. Solutions found outside of a segment thus can mask solutions that are closer to the ray's vertex by as much as the value of this margin, when applied to a segment's boundary dimensions.

This parameter is user-adjustable.


KEYPTM

public static final DSKToleranceKey KEYPTM
Surface-point membership margin keyword.

The surface-point membership margin limits the distance between a point and a surface to which the point is considered to belong. The margin is a scale factor applied to the size of the segment containing the surface.

This margin is used to map surface points to outward normal vectors at those points.

If this margin is set to an excessively small value, routines that make use of the surface-point mapping won't work properly.

This parameter is user-adjustable.


KEYAMG

public static final DSKToleranceKey KEYAMG
Angular rounding margin keyword.

This margin specifies an amount by which angular values may deviate from their proper ranges without a SPICE error condition being signaled.

For example, if an input latitude exceeds pi/2 radians by a positive amount less than this margin, the value is treated as though it were pi/2 radians.

Units are radians.

This parameter is not user-adjustable.


KEYLAL

public static final DSKToleranceKey KEYLAL
Longitude alias margin keyword.

This margin specifies an amount by which a longitude value can be outside a given longitude range without being considered eligible for transformation by addition or subtraction of 2*pi radians.

A longitude value, when compared to the endpoints of a longitude interval, will be considered to be equal to an endpoint if the value is outside the interval differs from that endpoint by a magnitude less than the alias margin.

Units are radians.

This parameter is not user-adjustable.

Method Detail

values

public static final DSKToleranceKey[] values()
Returns an array containing the constants of this enum type, in the order they're declared. This method may be used to iterate over the constants as follows:
for(DSKToleranceKey c : DSKToleranceKey.values())
        System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they're declared

valueOf

public static DSKToleranceKey valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException - if this enum type has no constant with the specified name

getIntKeyword

public int getIntKeyword()
Return integer keyword parameter used by CSPICE.


JNISpice
version 2.0.0

JNISpice Alpha Test Version 2.0.0 28-JAN-2017 (NJB)