LSST Applications g1635faa6d4+cd41018181,g1653933729+a8ce1bb630,g28da252d5a+9f67f2cd61,g2bbee38e9b+afd37a6135,g2bc492864f+afd37a6135,g2cdde0e794+3ad5f2bb52,g3156d2b45e+07302053f8,g33b1fccb7f+5f3fbc5215,g347aa1857d+afd37a6135,g35bb328faa+a8ce1bb630,g3a166c0a6a+afd37a6135,g3e281a1b8c+693a468c5f,g4005a62e65+17cd334064,g414038480c+36331ed8df,g41af890bb2+5e164101f9,g57cf332d5c+8bf329c3b1,g781aacb6e4+a8ce1bb630,g80478fca09+30926ec3c6,g82479be7b0+923225cd3a,g858d7b2824+30db5ec68c,g9125e01d80+a8ce1bb630,ga5288a1d22+91ef555625,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gbb4f38f987+30db5ec68c,gc28159a63d+afd37a6135,gcf0d15dbbd+754df76b7f,gcfacc2a72f+7db8e9b0b3,gda3e153d99+30db5ec68c,gda6a2b7d83+754df76b7f,gdaeeff99f8+1711a396fd,ge2409df99d+3b9c66f090,ge33fd446bb+30db5ec68c,ge79ae78c31+afd37a6135,gebdfc2c0af+fdb5b64983,gf0baf85859+5daf287408,gf3967379c6+e78244637f,gf8bc214d71+c4204bfb82,v24.1.6.rc1
LSST Data Management Base Package
Loading...
Searching...
No Matches
Classes | Functions | Variables
lsst.sphgeom._continue_class Namespace Reference

Classes

class  Box
 
class  Circle
 
class  ConvexPolygon
 
class  Region
 

Functions

bool _isAttributeSafeToTransfer (str name, typing.Any value)
 
 _continueClass (cls)
 
float _inf_to_limit (float value, float min, float max)
 
float _inf_to_lat (float lat)
 
float _inf_to_lon (float lat)
 

Variables

 _INTRINSIC_SPECIAL_ATTRIBUTES
 

Detailed Description

Extend any of the C++ Python classes by adding additional methods.

Function Documentation

◆ _continueClass()

lsst.sphgeom._continue_class._continueClass ( cls)
protected

Definition at line 67 of file _continue_class.py.

67def _continueClass(cls):
68 orig = getattr(sys.modules[cls.__module__], cls.__name__)
69 for name in dir(cls):
70 # Common descriptors like classmethod and staticmethod can only be
71 # accessed without invoking their magic if we use __dict__; if we use
72 # getattr on those we'll get e.g. a bound method instance on the dummy
73 # class rather than a classmethod instance we can put on the target
74 # class.
75 attr = cls.__dict__.get(name, None) or getattr(cls, name)
76 if _isAttributeSafeToTransfer(name, attr):
77 setattr(orig, name, attr)
78 return orig
79
80

◆ _inf_to_lat()

float lsst.sphgeom._continue_class._inf_to_lat ( float lat)
protected
Map latitude +Inf to +90 and -Inf to -90 degrees.

Definition at line 90 of file _continue_class.py.

90def _inf_to_lat(lat: float) -> float:
91 """Map latitude +Inf to +90 and -Inf to -90 degrees."""
92 return _inf_to_limit(lat, -90.0, 90.0)
93
94

◆ _inf_to_limit()

float lsst.sphgeom._continue_class._inf_to_limit ( float value,
float min,
float max )
protected
Map a value to a fixed range if infinite.

Definition at line 81 of file _continue_class.py.

81def _inf_to_limit(value: float, min: float, max: float) -> float:
82 """Map a value to a fixed range if infinite."""
83 if not math.isinf(value):
84 return value
85 if value > 0.0:
86 return max
87 return min
88
89

◆ _inf_to_lon()

float lsst.sphgeom._continue_class._inf_to_lon ( float lat)
protected
Map longitude +Inf to +360 and -Inf to 0 degrees.

Definition at line 95 of file _continue_class.py.

95def _inf_to_lon(lat: float) -> float:
96 """Map longitude +Inf to +360 and -Inf to 0 degrees."""
97 return _inf_to_limit(lat, 0.0, 360.0)
98
99
100@_continueClass

◆ _isAttributeSafeToTransfer()

bool lsst.sphgeom._continue_class._isAttributeSafeToTransfer ( str name,
typing.Any value )
protected

Definition at line 59 of file _continue_class.py.

59def _isAttributeSafeToTransfer(name: str, value: typing.Any) -> bool:
60 if name.startswith("__") and (
61 value is getattr(object, name, None) or name in _INTRINSIC_SPECIAL_ATTRIBUTES
62 ):
63 return False
64 return True
65
66

Variable Documentation

◆ _INTRINSIC_SPECIAL_ATTRIBUTES

lsst.sphgeom._continue_class._INTRINSIC_SPECIAL_ATTRIBUTES
protected
Initial value:
1= frozenset(
2 (
3 "__qualname__",
4 "__module__",
5 "__metaclass__",
6 "__dict__",
7 "__weakref__",
8 "__class__",
9 "__subclasshook__",
10 "__name__",
11 "__doc__",
12 )
13)

Definition at line 44 of file _continue_class.py.