mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
minor interface tweaks
This commit is contained in:
parent
f4903270ea
commit
8eaa2efe72
@ -28,7 +28,7 @@ CData() {
|
|||||||
_render_mode = RopeNode::RM_thread;
|
_render_mode = RopeNode::RM_thread;
|
||||||
_uv_mode = RopeNode::UV_none;
|
_uv_mode = RopeNode::UV_none;
|
||||||
_u_dominant = true;
|
_u_dominant = true;
|
||||||
_uv_scale.set(1.0f, 1.0f);
|
_uv_scale = 1.0f;
|
||||||
_use_vertex_color = false;
|
_use_vertex_color = false;
|
||||||
_num_subdiv = 10;
|
_num_subdiv = 10;
|
||||||
_thickness = 1.0f;
|
_thickness = 1.0f;
|
||||||
@ -54,7 +54,7 @@ CData(const RopeNode::CData ©) :
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: set_curve
|
// Function: set_curve
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Sets the particular curve represented by the
|
// Description: Sets the particular curve represented by the
|
||||||
// RopeNode.
|
// RopeNode.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -66,7 +66,7 @@ set_curve(NurbsCurveEvaluator *curve) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: get_curve
|
// Function: get_curve
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the curve represented by the RopeNode.
|
// Description: Returns the curve represented by the RopeNode.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE NurbsCurveEvaluator *RopeNode::
|
INLINE NurbsCurveEvaluator *RopeNode::
|
||||||
@ -77,7 +77,7 @@ get_curve() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: set_render_mode
|
// Function: set_render_mode
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Specifies the method used to render the rope. The
|
// Description: Specifies the method used to render the rope. The
|
||||||
// simplest is RM_thread, which just draws a one-pixel
|
// simplest is RM_thread, which just draws a one-pixel
|
||||||
// line segment.
|
// line segment.
|
||||||
@ -90,7 +90,7 @@ set_render_mode(RopeNode::RenderMode render_mode) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: get_render_mode
|
// Function: get_render_mode
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the method used to render the rope. See
|
// Description: Returns the method used to render the rope. See
|
||||||
// set_render_mode().
|
// set_render_mode().
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -102,7 +102,7 @@ get_render_mode() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: set_uv_mode
|
// Function: set_uv_mode
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Specifies the algorithm to use to generate UV's for
|
// Description: Specifies the algorithm to use to generate UV's for
|
||||||
// the rope.
|
// the rope.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -114,7 +114,7 @@ set_uv_mode(RopeNode::UVMode uv_mode) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: get_uv_mode
|
// Function: get_uv_mode
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the algorithm to use to generate UV's for the
|
// Description: Returns the algorithm to use to generate UV's for the
|
||||||
// rope.
|
// rope.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -126,7 +126,7 @@ get_uv_mode() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: set_uv_direction
|
// Function: set_uv_direction
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Specify true to vary the U coordinate down the length
|
// Description: Specify true to vary the U coordinate down the length
|
||||||
// of the rope, or false to vary the V coordinate.
|
// of the rope, or false to vary the V coordinate.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -138,7 +138,7 @@ set_uv_direction(bool u_dominant) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: get_uv_direction
|
// Function: get_uv_direction
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns true if the rope runs down the U coordinate
|
// Description: Returns true if the rope runs down the U coordinate
|
||||||
// of the texture, or false if it runs down the V
|
// of the texture, or false if it runs down the V
|
||||||
// coordinate.
|
// coordinate.
|
||||||
@ -151,23 +151,42 @@ get_uv_direction() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: set_uv_scale
|
// Function: set_uv_scale
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Specifies an additional scaling factor to apply to
|
// Description: Specifies an additional scaling factor to apply to
|
||||||
// generated UV's for the rope.
|
// generated UV's for the rope. This is a deprecated
|
||||||
|
// interface; use set_uv_scale() that accepts a single
|
||||||
|
// float, instead.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE void RopeNode::
|
INLINE void RopeNode::
|
||||||
set_uv_scale(const LVecBase2f &uv_scale) {
|
set_uv_scale(const LVecBase2f &uv_scale) {
|
||||||
|
if (get_uv_direction()) {
|
||||||
|
set_uv_scale(uv_scale[0]);
|
||||||
|
} else {
|
||||||
|
set_uv_scale(uv_scale[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: set_uv_scale
|
||||||
|
// Access: Published
|
||||||
|
// Description: Specifies an additional scaling factor to apply to
|
||||||
|
// generated UV's along the rope. This scale factor is
|
||||||
|
// applied in whichever direction is along the rope, as
|
||||||
|
// specified by set_uv_direction().
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
INLINE void RopeNode::
|
||||||
|
set_uv_scale(float uv_scale) {
|
||||||
CDWriter cdata(_cycler);
|
CDWriter cdata(_cycler);
|
||||||
cdata->_uv_scale = uv_scale;
|
cdata->_uv_scale = uv_scale;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: get_uv_scale
|
// Function: get_uv_scale
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the scaling factor to apply to generated UV's
|
// Description: Returns the scaling factor to apply to generated UV's
|
||||||
// for the rope.
|
// for the rope.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE const LVecBase2f &RopeNode::
|
INLINE float RopeNode::
|
||||||
get_uv_scale() const {
|
get_uv_scale() const {
|
||||||
CDReader cdata(_cycler);
|
CDReader cdata(_cycler);
|
||||||
return cdata->_uv_scale;
|
return cdata->_uv_scale;
|
||||||
@ -175,7 +194,7 @@ get_uv_scale() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: set_use_vertex_color
|
// Function: set_use_vertex_color
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Sets the "use vertex color" flag. When this is true,
|
// Description: Sets the "use vertex color" flag. When this is true,
|
||||||
// the R, G, B, A vertex color is assumed to be stored
|
// the R, G, B, A vertex color is assumed to be stored
|
||||||
// as the dimensions 0, 1, 2, 3, respectively, of the
|
// as the dimensions 0, 1, 2, 3, respectively, of the
|
||||||
@ -191,7 +210,7 @@ set_use_vertex_color(bool flag) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: get_use_vertex_color
|
// Function: get_use_vertex_color
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the "use vertex color" flag. See
|
// Description: Returns the "use vertex color" flag. See
|
||||||
// set_use_vertex_color().
|
// set_use_vertex_color().
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -203,7 +222,7 @@ get_use_vertex_color() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: set_num_subdiv
|
// Function: set_num_subdiv
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Specifies the number of subdivisions per cubic
|
// Description: Specifies the number of subdivisions per cubic
|
||||||
// segment (that is, per unique knot value) to draw in a
|
// segment (that is, per unique knot value) to draw in a
|
||||||
// fixed uniform tesselation of the curve.
|
// fixed uniform tesselation of the curve.
|
||||||
@ -217,7 +236,7 @@ set_num_subdiv(int num_subdiv) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: get_num_subdiv
|
// Function: get_num_subdiv
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the number of subdivisions per cubic segment
|
// Description: Returns the number of subdivisions per cubic segment
|
||||||
// to draw. See set_num_subdiv().
|
// to draw. See set_num_subdiv().
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -229,7 +248,7 @@ get_num_subdiv() const {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: set_thickness
|
// Function: set_thickness
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Specifies the thickness of the rope, in pixels or in
|
// Description: Specifies the thickness of the rope, in pixels or in
|
||||||
// spatial units, depending on the render mode. See
|
// spatial units, depending on the render mode. See
|
||||||
// set_render_mode().
|
// set_render_mode().
|
||||||
@ -243,7 +262,7 @@ set_thickness(float thickness) {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: get_thickness
|
// Function: get_thickness
|
||||||
// Access: Public
|
// Access: Published
|
||||||
// Description: Returns the thickness of the rope. See
|
// Description: Returns the thickness of the rope. See
|
||||||
// set_thickness().
|
// set_thickness().
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
@ -267,7 +267,7 @@ void RopeNode::
|
|||||||
render_thread(CullTraverser *trav, CullTraverserData &data,
|
render_thread(CullTraverser *trav, CullTraverserData &data,
|
||||||
NurbsCurveResult *result) {
|
NurbsCurveResult *result) {
|
||||||
UVMode uv_mode = get_uv_mode();
|
UVMode uv_mode = get_uv_mode();
|
||||||
LVecBase2f uv_scale = get_uv_scale();
|
float uv_scale = get_uv_scale();
|
||||||
bool u_dominant = get_uv_direction();
|
bool u_dominant = get_uv_direction();
|
||||||
bool use_vertex_color = get_use_vertex_color();
|
bool use_vertex_color = get_use_vertex_color();
|
||||||
|
|
||||||
@ -300,9 +300,9 @@ render_thread(CullTraverser *trav, CullTraverserData &data,
|
|||||||
|
|
||||||
case UV_parametric:
|
case UV_parametric:
|
||||||
if (u_dominant) {
|
if (u_dominant) {
|
||||||
uvs.push_back(TexCoordf(t * uv_scale[0], 0.0f));
|
uvs.push_back(TexCoordf(t * uv_scale, 0.0f));
|
||||||
} else {
|
} else {
|
||||||
uvs.push_back(TexCoordf(0.0f, t * uv_scale[1]));
|
uvs.push_back(TexCoordf(0.0f, t * uv_scale));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -312,9 +312,9 @@ render_thread(CullTraverser *trav, CullTraverserData &data,
|
|||||||
dist += vec.length();
|
dist += vec.length();
|
||||||
}
|
}
|
||||||
if (u_dominant) {
|
if (u_dominant) {
|
||||||
uvs.push_back(TexCoordf(dist * uv_scale[0], 0.0f));
|
uvs.push_back(TexCoordf(dist * uv_scale, 0.0f));
|
||||||
} else {
|
} else {
|
||||||
uvs.push_back(TexCoordf(0.0f, dist * uv_scale[1]));
|
uvs.push_back(TexCoordf(0.0f, dist * uv_scale));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -324,9 +324,9 @@ render_thread(CullTraverser *trav, CullTraverserData &data,
|
|||||||
dist += vec.length_squared();
|
dist += vec.length_squared();
|
||||||
}
|
}
|
||||||
if (u_dominant) {
|
if (u_dominant) {
|
||||||
uvs.push_back(TexCoordf(dist * uv_scale[0], 0.0f));
|
uvs.push_back(TexCoordf(dist * uv_scale, 0.0f));
|
||||||
} else {
|
} else {
|
||||||
uvs.push_back(TexCoordf(0.0f, dist * uv_scale[1]));
|
uvs.push_back(TexCoordf(0.0f, dist * uv_scale));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -381,7 +381,7 @@ render_billboard(CullTraverser *trav, CullTraverserData &data,
|
|||||||
float radius = thickness * 0.5f;
|
float radius = thickness * 0.5f;
|
||||||
UVMode uv_mode = get_uv_mode();
|
UVMode uv_mode = get_uv_mode();
|
||||||
bool u_dominant = get_uv_direction();
|
bool u_dominant = get_uv_direction();
|
||||||
LVecBase2f uv_scale = get_uv_scale();
|
float uv_scale = get_uv_scale();
|
||||||
|
|
||||||
// We can't just build one tristrip per segment. Instead, we should
|
// We can't just build one tristrip per segment. Instead, we should
|
||||||
// build one continuous tristrip for all connected segments, so we
|
// build one continuous tristrip for all connected segments, so we
|
||||||
@ -462,11 +462,11 @@ render_billboard(CullTraverser *trav, CullTraverserData &data,
|
|||||||
|
|
||||||
case UV_parametric:
|
case UV_parametric:
|
||||||
if (u_dominant) {
|
if (u_dominant) {
|
||||||
uvs.push_back(TexCoordf(t * uv_scale[0], uv_scale[1]));
|
uvs.push_back(TexCoordf(t * uv_scale, 1.0f));
|
||||||
uvs.push_back(TexCoordf(t * uv_scale[0], 0.0f));
|
uvs.push_back(TexCoordf(t * uv_scale, 0.0f));
|
||||||
} else {
|
} else {
|
||||||
uvs.push_back(TexCoordf(uv_scale[0], t * uv_scale[1]));
|
uvs.push_back(TexCoordf(1.0f, t * uv_scale));
|
||||||
uvs.push_back(TexCoordf(0.0f, t * uv_scale[1]));
|
uvs.push_back(TexCoordf(0.0f, t * uv_scale));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -476,11 +476,11 @@ render_billboard(CullTraverser *trav, CullTraverserData &data,
|
|||||||
dist += vec.length();
|
dist += vec.length();
|
||||||
}
|
}
|
||||||
if (u_dominant) {
|
if (u_dominant) {
|
||||||
uvs.push_back(TexCoordf(dist * uv_scale[0], thickness * uv_scale[1]));
|
uvs.push_back(TexCoordf(dist * uv_scale, 1.0f));
|
||||||
uvs.push_back(TexCoordf(dist * uv_scale[0], 0.0f));
|
uvs.push_back(TexCoordf(dist * uv_scale, 0.0f));
|
||||||
} else {
|
} else {
|
||||||
uvs.push_back(TexCoordf(thickness * uv_scale[0], dist * uv_scale[1]));
|
uvs.push_back(TexCoordf(1.0f, dist * uv_scale));
|
||||||
uvs.push_back(TexCoordf(0.0f, dist * uv_scale[1]));
|
uvs.push_back(TexCoordf(0.0f, dist * uv_scale));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -490,11 +490,11 @@ render_billboard(CullTraverser *trav, CullTraverserData &data,
|
|||||||
dist += vec.length_squared();
|
dist += vec.length_squared();
|
||||||
}
|
}
|
||||||
if (u_dominant) {
|
if (u_dominant) {
|
||||||
uvs.push_back(TexCoordf(dist * uv_scale[0], thickness * uv_scale[1]));
|
uvs.push_back(TexCoordf(dist * uv_scale, 1.0f));
|
||||||
uvs.push_back(TexCoordf(dist * uv_scale[0], 0.0f));
|
uvs.push_back(TexCoordf(dist * uv_scale, 0.0f));
|
||||||
} else {
|
} else {
|
||||||
uvs.push_back(TexCoordf(thickness * uv_scale[0], dist * uv_scale[1]));
|
uvs.push_back(TexCoordf(1.0f, dist * uv_scale));
|
||||||
uvs.push_back(TexCoordf(0.0f, dist * uv_scale[1]));
|
uvs.push_back(TexCoordf(0.0f, dist * uv_scale));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,8 @@ PUBLISHED:
|
|||||||
INLINE bool get_uv_direction() const;
|
INLINE bool get_uv_direction() const;
|
||||||
|
|
||||||
INLINE void set_uv_scale(const LVecBase2f &uv_scale);
|
INLINE void set_uv_scale(const LVecBase2f &uv_scale);
|
||||||
INLINE const LVecBase2f &get_uv_scale() const;
|
INLINE void set_uv_scale(float scale);
|
||||||
|
INLINE float get_uv_scale() const;
|
||||||
|
|
||||||
INLINE void set_use_vertex_color(bool flag);
|
INLINE void set_use_vertex_color(bool flag);
|
||||||
INLINE bool get_use_vertex_color() const;
|
INLINE bool get_use_vertex_color() const;
|
||||||
@ -133,7 +134,7 @@ private:
|
|||||||
RenderMode _render_mode;
|
RenderMode _render_mode;
|
||||||
UVMode _uv_mode;
|
UVMode _uv_mode;
|
||||||
bool _u_dominant;
|
bool _u_dominant;
|
||||||
LVecBase2f _uv_scale;
|
float _uv_scale;
|
||||||
bool _use_vertex_color;
|
bool _use_vertex_color;
|
||||||
int _num_subdiv;
|
int _num_subdiv;
|
||||||
float _thickness;
|
float _thickness;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user