Table of Contents

Class M2SkinSection

Namespace
WoWLib.Formats.M2.Skin
Assembly
WoWLib.dll

One renderable geometry section (submesh). Abstract over the client version; construct a concrete version with M2SkinSection.ForVersion / for_version.

public class M2SkinSection : IDisposable
Inheritance
M2SkinSection
Implements
Derived
Inherited Members

Constructors

M2SkinSection()

public M2SkinSection()

M2SkinSection(M2SkinSection)

Copy-construct: a deep copy of other (the C++ copy constructor).

public M2SkinSection(M2SkinSection other)

Parameters

other M2SkinSection

Properties

BoneComboIndex

First bone-lookup entry.

public ushort BoneComboIndex { get; set; }

Property Value

ushort

BoneCount

Bone-lookup entries used.

public ushort BoneCount { get; set; }

Property Value

ushort

BoneInfluences

Highest bones-per-vertex in the submesh.

public ushort BoneInfluences { get; set; }

Property Value

ushort

CenterBoneIndex

The bone nearest the submesh center; wowdev leaves it otherwise undescribed.

public ushort CenterBoneIndex { get; set; }

Property Value

ushort

CenterPosition

Average vertex position.

public C3Vector CenterPosition { get; set; }

Property Value

C3Vector

IndexCount

Triangle index count.

public ushort IndexCount { get; set; }

Property Value

ushort

IndexStart

First triangle index.

public ushort IndexStart { get; set; }

Property Value

ushort

Level

public ushort Level { get; set; }

Property Value

ushort

SkinSectionId

Mesh part (geoset) id.

public ushort SkinSectionId { get; set; }

Property Value

ushort

VertexCount

Local vertex count.

public ushort VertexCount { get; set; }

Property Value

ushort

VertexStart

First local vertex.

public ushort VertexStart { get; set; }

Property Value

ushort

Methods

Dispose()

Release the native object now. Optional: the finalizer releases it on collection anyway - dispose (or using) when you want native memory back promptly.

public virtual void Dispose()

Equals(object?)

Determines whether the specified object is equal to the current object.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

ForVersion(ClientVersion)

A fresh M2SkinSection for an exact client version — the only axis that can name a Classic client, whose files follow the engine its build was cut on rather than its 1.15 / 4.4 version number.

public static M2SkinSection ForVersion(ClientVersion version)

Parameters

version ClientVersion

Returns

M2SkinSection

ForVersion(Expansion)

A fresh M2SkinSection for the given era, as the family base — the dynamic twin of the typed Era factories.

public static M2SkinSection ForVersion(Expansion era)

Parameters

era Expansion

Returns

M2SkinSection

GetHashCode()

Reference-identity hash (the C++ type has no hash to mirror).

public override int GetHashCode()

Returns

int

Operators

operator ==(M2SkinSection?, M2SkinSection?)

public static bool operator ==(M2SkinSection? l, M2SkinSection? r)

Parameters

l M2SkinSection
r M2SkinSection

Returns

bool

operator !=(M2SkinSection?, M2SkinSection?)

public static bool operator !=(M2SkinSection? l, M2SkinSection? r)

Parameters

l M2SkinSection
r M2SkinSection

Returns

bool