29class EXPCL_PANDA_EGG EggVertexUV :
public EggNamedObject {
31 explicit EggVertexUV(
const std::string &name,
const LTexCoordd &uv);
32 explicit EggVertexUV(
const std::string &name,
const LTexCoord3d &uvw);
33 EggVertexUV(
const EggVertexUV ©);
34 EggVertexUV &operator = (
const EggVertexUV ©);
35 virtual ~EggVertexUV();
37 INLINE
static std::string
filter_name(
const std::string &name);
38 INLINE
void set_name(
const std::string &name);
41 INLINE
bool has_w()
const;
42 INLINE LTexCoordd
get_uv()
const;
43 INLINE
const LTexCoord3d &
get_uvw()
const;
44 INLINE
void set_uv(
const LTexCoordd &texCoord);
45 INLINE
void set_uvw(
const LTexCoord3d &texCoord);
47 INLINE
bool has_tangent()
const;
48 INLINE
bool has_tangent4()
const;
49 INLINE
const LNormald &get_tangent()
const;
50 INLINE LVecBase4d get_tangent4()
const;
51 INLINE
void set_tangent(
const LNormald &tangent);
53 INLINE
void clear_tangent();
55 INLINE
bool has_binormal()
const;
56 INLINE
const LNormald &get_binormal()
const;
57 INLINE
void set_binormal(
const LNormald &binormal);
58 INLINE
void clear_binormal();
60 static PT(EggVertexUV) make_average(
const EggVertexUV *first,
61 const EggVertexUV *second);
65 void write(std::ostream &out,
int indent_level)
const;
66 int compare_to(
const EggVertexUV &other)
const;
68 EggMorphTexCoordList _duvs;
72 F_has_tangent = 0x001,
73 F_has_binormal = 0x002,
75 F_has_tangent4 = 0x008,
78 F_flip_computed_binormal = 0x010,
90 static void init_type() {
91 EggNamedObject::init_type();
93 EggNamedObject::get_class_type());
96 return get_class_type();
98 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
void transform(const LMatrix4d &mat)
Applies the indicated transformation matrix to the UV's tangent and/or binormal.
static std::string filter_name(const std::string &name)
Returns the actual name that should be set for a given name string.
LTexCoordd get_uv() const
Returns the texture coordinate pair, if get_num_dimensions() is 2.
bool has_w() const
Returns true if the texture coordinate has a third, w component, false if it is just a normal 2-d tex...
void set_uv(const LTexCoordd &texCoord)
Sets the texture coordinate pair.
int get_num_dimensions() const
Returns the number of components of the texture coordinate set.
void set_uvw(const LTexCoord3d &texCoord)
Sets the texture coordinate triple.
void set_tangent4(const LVecBase4d &tangent)
Sets the tangent vector, along with a fourth parameter that is multiplied with the result of cross(no...
const LTexCoord3d & get_uvw() const
Returns the texture coordinate triple, if get_num_dimensions() is 3.
int compare_to(const EggVertexUV &other) const
An ordering operator to compare two vertices for sorting order.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...