MeshLib Java Docs
Loading...
Searching...
No Matches
Inheritance diagram for meshlib.AffineXf3f:

Public Member Functions

 AffineXf3f (java.lang.foreign.MemorySegment segment, java.lang.Object owner)
AffineXf3f copy ()
void set (AffineXf3f other)
meshlib.Matrix3f A ()
void setA (meshlib.Matrix3f value)
meshlib.Vector3f b ()
void setB (meshlib.Vector3f value)
 AffineXf3f ()
 AffineXf3f (meshlib.Matrix3f A, meshlib.Vector3f b)
 AffineXf3f (meshlib.AffineXf3d xf)
meshlib.Vector3f call (meshlib.Vector3f x)
meshlib.Vector3f linearOnly (meshlib.Vector3f x)
meshlib.AffineXf3f inverse ()
Public Member Functions inherited from meshlib.CppStruct
final java.lang.foreign.MemorySegment rawPointer ()

Static Public Member Functions

static meshlib.AffineXf3f translation (meshlib.Vector3f b)
static meshlib.AffineXf3f linear (meshlib.Matrix3f A)
static meshlib.AffineXf3f xfAround (meshlib.Matrix3f A, meshlib.Vector3f stable)

Static Public Attributes

static final java.lang.foreign.StructLayout LAYOUT = meshlib.Ffi.structLayout(new java.lang.String[]{"A", "b"}, new java.lang.foreign.MemoryLayout[]{meshlib.Matrix3f.LAYOUT, meshlib.Vector3f.LAYOUT})
static final long OFF_A = LAYOUT.byteOffset(java.lang.foreign.MemoryLayout.PathElement.groupElement("A"))
static final long OFF_b = LAYOUT.byteOffset(java.lang.foreign.MemoryLayout.PathElement.groupElement("b"))

Additional Inherited Members

Protected Member Functions inherited from meshlib.CppStruct
 CppStruct (java.lang.foreign.MemorySegment segment, java.lang.Object owner)
Protected Attributes inherited from meshlib.CppStruct
final java.lang.foreign.MemorySegment segment

Detailed Description

affine transformation: y = A*x + b, where A in VxV, and b in V Generated from class MR::AffineXf3f.

Has the same layout as the C++ struct, the fields are accessed in place in native memory.

Constructor & Destructor Documentation

◆ AffineXf3f() [1/4]

meshlib.AffineXf3f.AffineXf3f ( java.lang.foreign.MemorySegment segment,
java.lang.Object owner )

Wraps a segment holding the struct. owner is kept alive as long as this wrapper is. Not for normal use.

◆ AffineXf3f() [2/4]

meshlib.AffineXf3f.AffineXf3f ( )

Constructs an empty (default-constructed) instance.

Calls MR_AffineXf3f_DefaultConstruct().

◆ AffineXf3f() [3/4]

meshlib.AffineXf3f.AffineXf3f ( meshlib.Matrix3f A,
meshlib.Vector3f b )

Generated from constructor MR::AffineXf3f::AffineXf3f. The reference to the parameter A might be preserved in the constructed object. The reference to the parameter b might be preserved in the constructed object.

Calls MR_AffineXf3f_Construct().

◆ AffineXf3f() [4/4]

meshlib.AffineXf3f.AffineXf3f ( meshlib.AffineXf3d xf)

Here U == V doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted when generating the bindings, and results in duplicate functions in C#. Generated from constructor MR::AffineXf3f::AffineXf3f. The reference to the parameter xf might be preserved in the constructed object.

Calls MR_AffineXf3f_Construct_MR_Vector3d().

Member Function Documentation

◆ A()

meshlib.Matrix3f meshlib.AffineXf3f.A ( )

◆ b()

meshlib.Vector3f meshlib.AffineXf3f.b ( )

◆ call()

meshlib.Vector3f meshlib.AffineXf3f.call ( meshlib.Vector3f x)

application of the transformation to a point Generated from method MR::AffineXf3f::operator().

Calls MR_AffineXf3f_call().

◆ copy()

AffineXf3f meshlib.AffineXf3f.copy ( )

A copy of the struct, in its own memory.

◆ inverse()

meshlib.AffineXf3f meshlib.AffineXf3f.inverse ( )

computes inverse transformation Generated from method MR::AffineXf3f::inverse.

Calls MR_AffineXf3f_inverse().

◆ linear()

meshlib.AffineXf3f meshlib.AffineXf3f.linear ( meshlib.Matrix3f A)
static

creates linear-only transformation (without translation) Generated from method MR::AffineXf3f::linear.

Calls MR_AffineXf3f_linear().

◆ linearOnly()

meshlib.Vector3f meshlib.AffineXf3f.linearOnly ( meshlib.Vector3f x)

applies only linear part of the transformation to given vector (e.g. to normal) skipping adding shift (b) for example if this is a rigid transformation, then only rotates input vector Generated from method MR::AffineXf3f::linearOnly.

Calls MR_AffineXf3f_linearOnly().

◆ set()

void meshlib.AffineXf3f.set ( AffineXf3f other)

Overwrites the contents with those of another struct.

◆ setA()

void meshlib.AffineXf3f.setA ( meshlib.Matrix3f value)

◆ setB()

void meshlib.AffineXf3f.setB ( meshlib.Vector3f value)

◆ translation()

meshlib.AffineXf3f meshlib.AffineXf3f.translation ( meshlib.Vector3f b)
static

creates translation-only transformation (with identity linear component) Generated from method MR::AffineXf3f::translation.

Calls MR_AffineXf3f_translation().

◆ xfAround()

meshlib.AffineXf3f meshlib.AffineXf3f.xfAround ( meshlib.Matrix3f A,
meshlib.Vector3f stable )
static

creates transformation with given linear part with given stable point Generated from method MR::AffineXf3f::xfAround.

Calls MR_AffineXf3f_xfAround().

Member Data Documentation

◆ LAYOUT

final java.lang.foreign.StructLayout meshlib.AffineXf3f.LAYOUT = meshlib.Ffi.structLayout(new java.lang.String[]{"A", "b"}, new java.lang.foreign.MemoryLayout[]{meshlib.Matrix3f.LAYOUT, meshlib.Vector3f.LAYOUT})
static

The native layout of the struct.

◆ OFF_A

final long meshlib.AffineXf3f.OFF_A = LAYOUT.byteOffset(java.lang.foreign.MemoryLayout.PathElement.groupElement("A"))
static

◆ OFF_b

final long meshlib.AffineXf3f.OFF_b = LAYOUT.byteOffset(java.lang.foreign.MemoryLayout.PathElement.groupElement("b"))
static

The documentation for this class was generated from the following file: