WebLVC 1.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
geoLocationFilter.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2015 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <broker/objectFilter.h>
13 #include <mtl/envValue.h>
14 #include <mtl/varType.h>
15 
16 namespace MAKVrExchange
17 {
18 
22  {
23  public:
24 
27 
30 
32  virtual ~DtGeoLocationFilter();
33 
35  virtual DtGeoLocationFilter& operator = ( const DtGeoLocationFilter& other );
36 
39 
40  virtual bool operator == ( const DtGeoLocationFilter& other );
41  virtual bool operator != ( const DtGeoLocationFilter& other );
42 
44 
47  virtual DtString string() const;
48 
51 
52  virtual void setName( const DtString& name );
53  virtual const DtString& name() const;
54 
55  virtual void setLatitude( double lat );
56  virtual double latitude() const;
57 
58  virtual void setLongitude( double lon );
59  virtual double longitude() const;
60 
61  virtual void setRadius( double r );
62  virtual double radius() const;
63 
64  virtual void setFilterPublished( bool pub );
65  virtual bool filterPublished() const;
66 
68 
71 
72  static void setObjectValue( DtEnvValueSP obj, const DtString& objectValue );
73  static DtString getObjectValue( DtEnvValueSP obj );
74 
75  static DtEnvValueSP createSchema( DtEnvironment env );
76  static void toEnvironment( DtEnvironment env, const DtGeoLocationFilter& filter );
77  static DtGeoLocationFilter fromEnvironment( DtEnvironment env );
78 
80 
81  protected:
82 
84  DtFloat64 myLatitude;
85  DtFloat64 myLongitude;
86  DtFloat64 myRadius;
88 
89  };
90 
91 }
92 
93 
96 template <>
97 struct DT_DLL_BROKER DtVarType<MAKVrExchange::DtGeoLocationFilter>
98 {
100  typedef _NativeTypeToArg<MAKVrExchange::DtGeoLocationFilter>::Type ArgType;
101 
102  // Get the native type string.
103  static DtString nativeNameOfType();
104 
105  // Get the CmdLine ARG type string.
106  static DtString argNameOfType();
107 
108  // Get the XML schema type string.
109  static DtString xsNameOfType();
110 
111  // To and from CmdLine Argument types.
112  static ArgType convertToArgType( MAKVrExchange::DtGeoLocationFilter value );
113  static MAKVrExchange::DtGeoLocationFilter convertFromArgType( ArgType value );
114 
115  // To and From String conversions
116  static DtString convertToString( MAKVrExchange::DtGeoLocationFilter value );
117  static MAKVrExchange::DtGeoLocationFilter convertFromString( const DtString& value );
118 
119  // Get Schema Type
120  static DtEnvValueSP createSchemaType( DtEnvironment env );
121 
122  // To and From Environment Value
123  static void convertToEnvironmentValue( DtEnvironment env, MAKVrExchange::DtGeoLocationFilter value );
124  static MAKVrExchange::DtGeoLocationFilter convertFromEnvironmentValue( DtEnvironment env );
125 
126 };
Contains the DtObjectFilter class declaration.
_NativeTypeToArg< MAKVrExchange::DtGeoLocationFilter >::Type ArgType
Typedefs DtString to ArgType.
Definition: geoLocationFilter.h:100
bool myFilterPublished
Definition: geoLocationFilter.h:87
DtFloat64 myRadius
Definition: geoLocationFilter.h:86
Stores the type and filter string for an individual filter.
Definition: objectFilter.h:20
Stores the filtering parameters for a geospatial location filter.
Definition: geoLocationFilter.h:21
#define DT_DLL_BROKER
Definition: include/broker/dllExport.h:20
DtFloat64 myLatitude
Definition: geoLocationFilter.h:84
DT_DLL_BROKER DtString getObjectValue(DtEnvValueSP obj)
Gets the object&#39;s value from the environment object.
DtFloat64 myLongitude
Definition: geoLocationFilter.h:85
DT_DLL_BROKER void setObjectValue(DtEnvValueSP obj, const DtString &objectValue)
Sets the object&#39;s value into the environment object.
DtString myName
Definition: geoLocationFilter.h:83

Document ID: Generated on Wed Mar 12 15:05:17 EDT 2025 from SVN revision 274272
Copyright © 2005-2025 MAK Technologies. All Rights Reserved (www.mak.com)