github.com/altipla-consulting/ravendb-go-client@v0.1.3/circle_criteria.go (about)

     1  package ravendb
     2  
     3  // CircleCriteria describes circle criteria
     4  type CircleCriteria struct {
     5  	SpatialCriteriaCommon
     6  	_radius      float64
     7  	_latitude    float64
     8  	_longitude   float64
     9  	_radiusUnits SpatialUnits
    10  }
    11  
    12  // NewCircleCriteria returns new CircleCriteria
    13  func NewCircleCriteria(radius float64, latitude float64, longitude float64, radiusUnits SpatialUnits, relation SpatialRelation, distErrorPercent float64) *CircleCriteria {
    14  
    15  	res := &CircleCriteria{
    16  		_radius:      radius,
    17  		_latitude:    latitude,
    18  		_longitude:   longitude,
    19  		_radiusUnits: radiusUnits,
    20  	}
    21  	res._relation = relation
    22  	res._distanceErrorPct = distErrorPercent
    23  	return res
    24  }
    25  
    26  // ToQueryToken creates a token
    27  func (c *CircleCriteria) ToQueryToken(fieldName string, addQueryParameter func(interface{}) string) queryToken {
    28  	return c.SpatialCriteriaCommon.toQueryTokenCommon(c, fieldName, addQueryParameter)
    29  }
    30  
    31  // GetShapeToken returns shapeToken
    32  func (c *CircleCriteria) GetShapeToken(addQueryParameter func(interface{}) string) *shapeToken {
    33  	return shapeTokenCircle(addQueryParameter(c._radius), addQueryParameter(c._latitude),
    34  		addQueryParameter(c._longitude), c._radiusUnits)
    35  }