struct MAGES::MeshDeformations::RuntimeShapeMatchingConstraintData

Overview

Represents the runtime data for shape matching constraints in the XPBD solver. More…

struct RuntimeShapeMatchingConstraintData
{
    // fields

    bool IsCreated;
    int Count;
    NativeArray Enabled;
    NativeArray Breakable;
    NativeArray PhysicsMaterialIndex;
    NativeArray Particle;
    NativeArray SimulationMeshDescriptorIndex;

    // methods

    void Create(
        in int size,
        NativeArrayOptions nativeArrayOptions = NativeArrayOptions.ClearMemory
    );

    int Resize(in int newSize);
    int InsertAdditionalEmptySpace(in int additionalSize, in int emptySpacePosition);
    void RemoveRange(in int index, in int length);
    void Dispose();
};

Detailed Documentation

Represents the runtime data for shape matching constraints in the XPBD solver.

Fields

bool IsCreated

Indicates whether the constraint data has been initialized.

int Count

The number of constraints.

NativeArray Enabled

Indicates whether each constraint is enabled.

NativeArray Breakable

Indicates whether each constraint is breakable.

NativeArray PhysicsMaterialIndex

The index of the physics material for each constraint.

NativeArray Particle

The index of the particle involved in each constraint.

NativeArray SimulationMeshDescriptorIndex

The index of the simulation mesh descriptor for each constraint.

Methods

void Create(
    in int size,
    NativeArrayOptions nativeArrayOptions = NativeArrayOptions.ClearMemory
)

Initializes the constraint data arrays.

Parameters:

size

The size of the arrays.

nativeArrayOptions

Options for array memory initialization.

int Resize(in int newSize)

Resizes the data arrays.

Parameters:

newSize

The new size.

Returns:

The index at which the new cells begin.

int InsertAdditionalEmptySpace(in int additionalSize, in int emptySpacePosition)

Inserts additional empty space into the data arrays.

Parameters:

additionalSize

The size of the additional space to insert.

emptySpacePosition

The index at which the new empty space will be located.

Returns:

The index at which the new cells begin.

void RemoveRange(in int index, in int length)

Removes a range of data from the arrays.

Parameters:

index

The starting index of the range to remove.

length

The length of the range to remove.

void Dispose()

Disposes of the native arrays.