Rendering of mjGEOM_LINE respects size[0] (width argument of mjv_makeconnector), denominated in pixels.
- Before this change, line width was hardcoded to 3 pixels and the width argument of mjv_makeConnector was ignored. - After this change, the width argument is respected and interpreted in units of pixel. The non-standard width unit is ok since lines can only be drawn programmatically. PiperOrigin-RevId: 516529265 Change-Id: I27bffabba69cde415d2ada67263a887c9240efbf
This commit is contained in:
committed by
Copybara-Service
parent
972770ba55
commit
fe18e58ad2
@@ -1436,6 +1436,7 @@ mjv_makeConnector
|
|||||||
|
|
||||||
Set (type, size, pos, mat) for connector-type geom between given points.
|
Set (type, size, pos, mat) for connector-type geom between given points.
|
||||||
Assume that mjv_initGeom was already called to set all other properties.
|
Assume that mjv_initGeom was already called to set all other properties.
|
||||||
|
Width of mjGEOM_LINE is denominated in pixels.
|
||||||
|
|
||||||
.. _mjv_defaultScene:
|
.. _mjv_defaultScene:
|
||||||
|
|
||||||
|
|||||||
@@ -587,6 +587,7 @@ MJAPI void mjv_initGeom(mjvGeom* geom, int type, const mjtNum size[3],
|
|||||||
|
|
||||||
// Set (type, size, pos, mat) for connector-type geom between given points.
|
// Set (type, size, pos, mat) for connector-type geom between given points.
|
||||||
// Assume that mjv_initGeom was already called to set all other properties.
|
// Assume that mjv_initGeom was already called to set all other properties.
|
||||||
|
// Width of mjGEOM_LINE is denominated in pixels.
|
||||||
MJAPI void mjv_makeConnector(mjvGeom* geom, int type, mjtNum width,
|
MJAPI void mjv_makeConnector(mjvGeom* geom, int type, mjtNum width,
|
||||||
mjtNum a0, mjtNum a1, mjtNum a2,
|
mjtNum a0, mjtNum a1, mjtNum a2,
|
||||||
mjtNum b0, mjtNum b1, mjtNum b2);
|
mjtNum b0, mjtNum b1, mjtNum b2);
|
||||||
|
|||||||
@@ -3630,7 +3630,7 @@ FUNCTIONS: Mapping[str, FunctionDecl] = dict([
|
|||||||
type=ValueType(name='mjtNum'),
|
type=ValueType(name='mjtNum'),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
doc='Set (type, size, pos, mat) for connector-type geom between given points. Assume that mjv_initGeom was already called to set all other properties.', # pylint: disable=line-too-long
|
doc='Set (type, size, pos, mat) for connector-type geom between given points. Assume that mjv_initGeom was already called to set all other properties. Width of mjGEOM_LINE is denominated in pixels.', # pylint: disable=line-too-long
|
||||||
)),
|
)),
|
||||||
('mjv_defaultScene',
|
('mjv_defaultScene',
|
||||||
FunctionDecl(
|
FunctionDecl(
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
|
|
||||||
#include "engine/engine_vis_visualize.h"
|
#include "engine/engine_vis_visualize.h"
|
||||||
|
|
||||||
#include <math.h>
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@@ -1591,7 +1590,7 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt,
|
|||||||
|
|
||||||
// make ray
|
// make ray
|
||||||
START
|
START
|
||||||
mjv_makeConnector(thisgeom, mjGEOM_LINE, .01,
|
mjv_makeConnector(thisgeom, mjGEOM_LINE, 3,
|
||||||
d->site_xpos[3*sid],
|
d->site_xpos[3*sid],
|
||||||
d->site_xpos[3*sid+1],
|
d->site_xpos[3*sid+1],
|
||||||
d->site_xpos[3*sid+2],
|
d->site_xpos[3*sid+2],
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ static void renderGeom(const mjvGeom* geom, int mode, const float* headpos,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case mjGEOM_LINE: // line
|
case mjGEOM_LINE: // line
|
||||||
glLineWidth(3*con->lineWidth);
|
glLineWidth(size[0]*con->lineWidth);
|
||||||
lighting = glIsEnabled(GL_LIGHTING);
|
lighting = glIsEnabled(GL_LIGHTING);
|
||||||
glDisable(GL_LIGHTING);
|
glDisable(GL_LIGHTING);
|
||||||
glBegin(GL_LINES);
|
glBegin(GL_LINES);
|
||||||
|
|||||||
Reference in New Issue
Block a user