SheafSystem  0.0.0.0
fiber_bundle::e3_algebra Namespace Reference

Namespace containing the 3D Euclidean vector algebra functions for the fiber_bundles component of the sheaf system. More...

Functions

void SHEAF_DLL_SPEC cross (const e3 &x0, const e3 &x1, e3 &xresult, bool xauto_access)
 The 3D Euclidean vector "cross" product of x0 with x1 (pre-allocated version). More...
 
void SHEAF_DLL_SPEC cross_equal (e3 &xresult, const e3 &xother, bool xauto_access)
 The 3D Euclidean vector "cross" product of xresult with xother (self-allocated version). More...
 
SHEAF_DLL_SPEC e3_litecross (const e3_lite &x0, const e3_lite &x1)
 The 3D Euclidean vector "cross" product of x0 with x1 (auto-allocated version). More...
 
void SHEAF_DLL_SPEC cross (const e3_lite &x0, const e3_lite &x1, e3_lite &xresult)
 The 3D Euclidean vector "cross" product of x0 with x1 (pre-allocated version). More...
 
void SHEAF_DLL_SPEC cross_equal (e3_lite &xresult, const e3_lite &xother)
 The 3D Euclidean vector "cross" product of xresult with xother (self-allocated version). More...
 
SHEAF_DLL_SPEC e3_liteoperator^ (const e3_lite &x0, const e3_lite &x1)
 The 3D Euclidean vector "cross" product of x0 with x1 (auto-allocated version). More...
 
SHEAF_DLL_SPEC e3_liteoperator^= (e3_lite &xresult, const e3_lite &xother)
 The 3D Euclidean vector "cross" product of xresult with xother (pre-allocated version). More...
 

Detailed Description

Namespace containing the 3D Euclidean vector algebra functions for the fiber_bundles component of the sheaf system.

Function Documentation

◆ cross() [1/3]

void SHEAF_DLL_SPEC fiber_bundle::e3_algebra::cross ( const e3 x0,
const e3 x1,
e3 xresult,
bool  xauto_access 
)

The 3D Euclidean vector "cross" product of x0 with x1 (pre-allocated version).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_write_accessible(xauto_access)
  • x0.d(xauto_access) >= xresult.d(xauto_access)
  • x1.d(xauto_access) >= xresult.d(xauto_access)
  • x0.is_p_form(xauto_access) == x1.is_p_form(xauto_access)
Postcondition
  • xresult.is_p_form(xauto_access) == x0.is_p_form(xauto_access)
  • -unexecutable( "result == x0 cross x1" )

Definition at line 2112 of file e3.cc.

References fiber_bundle::vd::component(), fiber_bundle::vd::d(), sheaf::poset_component::get_read_access(), sheaf::poset_component::get_read_write_access(), fiber_bundle::atp::is_p_form(), fiber_bundle::vd::put_component(), fiber_bundle::atp::put_is_p_form(), fiber_bundle::atp::put_is_p_vector(), sheaf::poset_component::release_access(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), and sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible().

Referenced by fields::field_e3_algebra::cross(), cross(), fiber_bundle::sec_e3_algebra::cross_equal(), cross_equal(), geometry::line_surface_intersecter::intersect(), fiber_bundle::operator<<(), and operator^().

◆ cross() [2/3]

fiber_bundle::e3_lite * fiber_bundle::e3_algebra::cross ( const e3_lite x0,
const e3_lite x1 
)

The 3D Euclidean vector "cross" product of x0 with x1 (auto-allocated version).

Definition at line 2189 of file e3.cc.

References fiber_bundle::e3_lite::clone(), and cross().

◆ cross() [3/3]

void SHEAF_DLL_SPEC fiber_bundle::e3_algebra::cross ( const e3_lite x0,
const e3_lite x1,
e3_lite xresult 
)

The 3D Euclidean vector "cross" product of x0 with x1 (pre-allocated version).

Definition at line 2208 of file e3.cc.

References fiber_bundle::vd_lite::component(), cross_equal(), and fiber_bundle::vd_lite::put_component().

◆ cross_equal() [1/2]

void SHEAF_DLL_SPEC fiber_bundle::e3_algebra::cross_equal ( e3 xresult,
const e3 xother,
bool  xauto_access 
)

The 3D Euclidean vector "cross" product of xresult with xother (self-allocated version).

Precondition
  • precondition_of(cross(xresult, xother, xresult, xauto_access))
Postcondition
  • postcondition_of(cross(xresult, xother, xresult, xauto_access))

Definition at line 2169 of file e3.cc.

References cross().

Referenced by cross(), fields::field_e3_algebra::cross_equal(), and operator^=().

◆ cross_equal() [2/2]

void fiber_bundle::e3_algebra::cross_equal ( e3_lite xresult,
const e3_lite xother 
)

The 3D Euclidean vector "cross" product of xresult with xother (self-allocated version).

Definition at line 2233 of file e3.cc.

References cross(), and operator^().

◆ operator^()

fiber_bundle::e3_lite * fiber_bundle::e3_algebra::operator^ ( const e3_lite x0,
const e3_lite x1 
)

The 3D Euclidean vector "cross" product of x0 with x1 (auto-allocated version).

Definition at line 2249 of file e3.cc.

References cross(), and operator^=().

Referenced by cross_equal().

◆ operator^=()

fiber_bundle::e3_lite & fiber_bundle::e3_algebra::operator^= ( e3_lite xresult,
const e3_lite xother 
)

The 3D Euclidean vector "cross" product of xresult with xother (pre-allocated version).

Definition at line 2266 of file e3.cc.

References cross_equal(), and fiber_bundle::vd_algebra::transform_basis_by().

Referenced by operator^().