Panda3D
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
EggVertexUV Class Reference

The set of UV's that may or may not be assigned to a vertex. More...

Inheritance diagram for EggVertexUV:
EggNamedObject EggObject Namable TypedReferenceCount TypedObject ReferenceCount

Public Member Functions

 __init__ (const EggVertexUV copy)
 
 __init__ (str name, const LTexCoord3d uvw)
 
 __init__ (str name, const LTexCoordd uv)
 
 clearBinormal ()
 
 clearTangent ()
 
int compareTo (const EggVertexUV other)
 An ordering operator to compare two vertices for sorting order. More...
 
const LNormald getBinormal ()
 
int getNumDimensions ()
 Returns the number of components of the texture coordinate set. More...
 
const LNormald getTangent ()
 
LTexCoordd getUv ()
 Returns the texture coordinate pair, if get_num_dimensions() is 2. More...
 
const LTexCoord3d getUvw ()
 Returns the texture coordinate triple, if get_num_dimensions() is 3. More...
 
bool hasBinormal ()
 
bool hasTangent ()
 
bool hasW ()
 Returns true if the texture coordinate has a third, w component, false if it is just a normal 2-d texture coordinate. More...
 
EggVertexUV operator= (const EggVertexUV copy)
 
 setBinormal (const LNormald binormal)
 
 setName (str name)
 
 setTangent (const LNormald tangent)
 
 setUv (const LTexCoordd texCoord)
 Sets the texture coordinate pair. More...
 
 setUvw (const LTexCoord3d texCoord)
 Sets the texture coordinate triple. More...
 
 transform (const LMatrix4d mat)
 Applies the indicated transformation matrix to the UV's tangent and/or binormal. More...
 
 write (Ostream out, int indent_level)
 
- Public Member Functions inherited from EggNamedObject
 __init__ (const EggNamedObject copy)
 
 __init__ (str name)
 
EggNamedObject operator= (const EggNamedObject copy)
 
 output (Ostream out)
 
- Public Member Functions inherited from EggObject
 __init__ ()
 
 __init__ (const EggObject copy)
 
 clearUserData ()
 Removes all user data pointers from the node. More...
 
 clearUserData (TypeHandle type)
 Removes the user data pointer of the indicated type. More...
 
EggUserData getUserData ()
 Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored. More...
 
EggUserData getUserData (TypeHandle type)
 Returns the user data pointer of the indicated type, if it exists, or NULL if it does not. More...
 
bool hasUserData ()
 Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise. More...
 
bool hasUserData (TypeHandle type)
 Returns true if the user data pointer of the indicated type has been set, false otherwise. More...
 
EggObject operator= (const EggObject copy)
 
 setUserData (EggUserData user_data)
 Sets the user data associated with this object. More...
 
- Public Member Functions inherited from TypedObject
TypeHandle getType ()
 
int getTypeIndex ()
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
 
bool isExactType (TypeHandle handle)
 Returns true if the current object is the indicated type exactly. More...
 
bool isOfType (TypeHandle handle)
 Returns true if the current object is or derives from the indicated type. More...
 
- Public Member Functions inherited from ReferenceCount
int getRefCount ()
 Returns the current reference count. More...
 
 ref ()
 Explicitly increments the reference count. More...
 
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus. More...
 
bool testRefCountNonzero ()
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
 
bool unref ()
 Explicitly decrements the reference count. More...
 
- Public Member Functions inherited from Namable
 __init__ (const Namable)
 
 __init__ (str initial_name)
 
 clearName ()
 Resets the Namable's name to empty. More...
 
str getName ()
 
bool hasName ()
 Returns true if the Namable has a nonempty name set, false if the name is empty. More...
 
 output (Ostream out)
 Outputs the Namable. More...
 
 setName (str name)
 

Static Public Member Functions

static str filterName (str name)
 Returns the actual name that should be set for a given name string. More...
 
static TypeHandle getClassType ()
 
static EggVertexUV makeAverage (const EggVertexUV first, const EggVertexUV second)
 Creates a new EggVertexUV that contains the averaged values of the two given objects. More...
 
- Static Public Member Functions inherited from EggNamedObject
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from EggObject
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from Namable
static TypeHandle getClassType ()
 

Public Attributes

EggMorphTexCoordList _duvs
 
- Public Attributes inherited from TypedObject
TypeHandle type
 Returns the TypeHandle representing this object's type. More...
 
- Public Attributes inherited from ReferenceCount
int ref_count
 The current reference count. More...
 
- Public Attributes inherited from Namable
const String name
 

Detailed Description

The set of UV's that may or may not be assigned to a vertex.

To support multitexturing, there may be multiple sets of UV's on a particular vertex, each with its own name.

Member Function Documentation

◆ __init__() [1/3]

__init__ ( const EggVertexUV  copy)

◆ __init__() [2/3]

__init__ ( str  name,
const LTexCoord3d  uvw 
)

◆ __init__() [3/3]

__init__ ( str  name,
const LTexCoordd  uv 
)

◆ clearBinormal()

clearBinormal ( )

◆ clearTangent()

clearTangent ( )

◆ compareTo()

int compareTo ( const EggVertexUV  other)

An ordering operator to compare two vertices for sorting order.

This imposes an arbitrary ordering useful to identify unique vertices.

◆ filterName()

static str filterName ( str  name)
static

Returns the actual name that should be set for a given name string.

Usually this is the same string that is input, but for historical reasons the texture coordinate name "default" is mapped to the empty string.

◆ getBinormal()

const LNormald getBinormal ( )

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getNumDimensions()

int getNumDimensions ( )

Returns the number of components of the texture coordinate set.

This is either 2 (the normal case) or 3 (for a 3-d texture coordinate).

◆ getTangent()

const LNormald getTangent ( )

◆ getUv()

LTexCoordd getUv ( )

Returns the texture coordinate pair, if get_num_dimensions() is 2.

◆ getUvw()

const LTexCoord3d getUvw ( )

Returns the texture coordinate triple, if get_num_dimensions() is 3.

This is also legal to call if get_num_dimensions() is 2 (but the last dimension will be zero).

◆ hasBinormal()

bool hasBinormal ( )

◆ hasTangent()

bool hasTangent ( )

◆ hasW()

bool hasW ( )

Returns true if the texture coordinate has a third, w component, false if it is just a normal 2-d texture coordinate.

◆ makeAverage()

static EggVertexUV makeAverage ( const EggVertexUV  first,
const EggVertexUV  second 
)
static

Creates a new EggVertexUV that contains the averaged values of the two given objects.

It is an error if they don't have the same name.

◆ operator=()

EggVertexUV operator= ( const EggVertexUV  copy)

◆ setBinormal()

setBinormal ( const LNormald  binormal)

◆ setName()

setName ( str  name)

◆ setTangent()

setTangent ( const LNormald  tangent)

◆ setUv()

setUv ( const LTexCoordd  texCoord)

Sets the texture coordinate pair.

This makes the texture coordinate a 2-d texture coordinate, which is the usual case.

◆ setUvw()

setUvw ( const LTexCoord3d  texCoord)

Sets the texture coordinate triple.

This makes the texture coordinate a 3-d texture coordinate.

◆ transform()

transform ( const LMatrix4d  mat)

Applies the indicated transformation matrix to the UV's tangent and/or binormal.

This does nothing if there is no tangent or binormal.

◆ write()

write ( Ostream  out,
int  indent_level 
)

Member Data Documentation

◆ _duvs

EggMorphTexCoordList _duvs