arim.core.Interface#
- class arim.core.Interface(points, orientations, kind=None, transmission_reflection=None, reflection_against=None, are_normals_on_inc_rays_side=None, are_normals_on_out_rays_side=None)[source]#
- Bases: - object- An Interface object contains information about the interface for a given ray path. It contains the locations of the interface points but also whether the rays are transmitted or reflected, etc. - Parameters:
- points (Points) – Cf. attributes. 
- orientations (Points) – Cf. attributes. Accepted shape: - (3, )or- (*points.shape, 3). In the first case, the orientation is assumed to be the same for all points.
- kind (InterfaceKind or None) – Cf. attributes. Remark: accept strings but values are stored as - InterfaceKindconstants.
- transmission_reflection (TransmissionReflection or str or None) – Cf. attributes. Remark: accept strings but values are stored as - TransmissionReflectionconstants.
- reflection_against (Material or None) – Cf. attributes. 
- are_normals_on_inc_rays_side (bool or None) – Cf. attributes. 
- are_normals_on_out_rays_side (bool or None) – Cf. attributes. 
 
 - orientations#
- Orientations of the interface surface. For each interface point, the orientation is defined as three orthonormal vectors: the two first must be tangent to the surface, the third one must be the normal to the surface. All normals must point towards the same side of the surface. - Type:
 
 - kind#
- Kind of the interface. For example: “solid_fluid”, “fluid_solid”. None if not relevant. - Note: internally, the corresponding constant from - InterfaceKindis stored.- Type:
- InterfaceKind or str or None 
 
 - transmission_reflection#
- If the rays are transmitted through the interface, use “transmission”. If the rays are reflected against the interface, use “reflection”. For any other case, including probe emission and scattering, use None. - Note: internally, the corresponding constant from - TransmissionReflectionis stored.- Type:
- TransmissionReflection or str or None 
 
 - reflection_against#
- If the rays are reflected against the interface, this parameter is the material on the other side of the interface. For any other case, must be None. - Type:
- Material or None 
 
 - are_normals_on_inc_rays_side#
- Are the normals of the interface pointing towards the incoming rays? True or False. If not relevant (no incoming rays): None. - Type:
- bool or None 
 
 - are_normals_on_out_rays_side#
- Are the normals of the interface pointing towards the outgoing rays? True or False. If not relevant (no outgoing rays): None. - Type:
- bool or None