<> <> <> <Documentation>MultiGravity.tioga.>> <> <<>> DIRECTORY GGBasicTypes, GGInterfaceTypes; GGMultiGravity: CEDAR DEFINITIONS = BEGIN AlignBag: TYPE = REF AlignBagObj; AlignBagObj: TYPE = GGInterfaceTypes.AlignBagObj; Caret: TYPE = GGInterfaceTypes.Caret; FeatureCycler: TYPE = GGInterfaceTypes.FeatureCycler; FeatureData: TYPE = GGInterfaceTypes.FeatureData; GGData: TYPE = GGInterfaceTypes.GGData; NearVertexEdgeAndFaces: TYPE = GGInterfaceTypes.NearVertexEdgeAndFaces; Point: TYPE = GGBasicTypes.Point; TriggerBag: TYPE = REF TriggerBagObj; TriggerBagObj: TYPE = GGInterfaceTypes.TriggerBagObj; Vector: TYPE = GGBasicTypes.Vector; Map: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData, intersections: BOOL] RETURNS [resultPoint: Point, normal: Vector, feature: FeatureData, hitData: REF ANY]; <> PointsPreferred: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData, intersections: BOOL] RETURNS [resultPoint: Point, normal: Vector, feature: FeatureData, hitData: REF ANY]; LinesPreferred: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData] RETURNS [resultPoint: Point, normal: Vector, feature: FeatureData, hitData: REF ANY]; <> FacesPreferred: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData] RETURNS [resultPoint: Point, normal: Vector, feature: FeatureData, hitData: REF ANY]; <> MapCycler: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData, intersections: BOOL] RETURNS [featureCycler: FeatureCycler]; PointsPreferredCycler: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData, intersections: BOOL, maxDimension: [0..1] _ 1] RETURNS [featureCycler: FeatureCycler]; LinesPreferredCycler: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData] RETURNS [featureCycler: FeatureCycler]; <> FacesPreferredCycler: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData] RETURNS [featureCycler: FeatureCycler]; EmptyCycler: PROC [testPoint: Point] RETURNS [featureCycler: FeatureCycler]; <> <> FirstFeature: PROC [featureCycler: FeatureCycler] RETURNS [resultPoint: Point, normal: Vector, feature: FeatureData, hitData: REF ANY]; NextFeature: PROC [featureCycler: FeatureCycler] RETURNS [resultPoint: Point, normal: Vector, feature: FeatureData, hitData: REF ANY]; PreviousFeature: PROC [featureCycler: FeatureCycler] RETURNS [resultPoint: Point, normal: Vector, feature: FeatureData, hitData: REF ANY]; MultiMap: PUBLIC PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData, intersections: BOOL] RETURNS [nearVEF: NearVertexEdgeAndFaces, count: NAT]; <> <<>> MultiLinesPreferred: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData] RETURNS [nearVEF: NearVertexEdgeAndFaces, count: NAT]; <> MultiPointsPreferred: PROC [testPoint: Point, t: REAL, alignBag: AlignBag, sceneBag: TriggerBag, ggData: GGData, intersections: BOOL] RETURNS [nearVEF: NearVertexEdgeAndFaces, count: NAT]; <> NewMultiGravityPool: PROC [] RETURNS [REF]; -- stored in GGData; storage pool for GGMultiGravityImpl END.