Skip to content

artifacts

ColumnEntity #

Bases: QEntity

Source code in cogip/entities/artifacts.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class ColumnEntity(Qt3DCore.QEntity):
    height = 109.0
    diameter = 73.0

    def __init__(self, parent: Qt3DCore.QEntity, shift: float):
        """
        Class constructor.
        """
        super().__init__(parent)
        self.parent = parent

        self.transform = Qt3DCore.QTransform(self)
        self.transform.setTranslation(QtGui.QVector3D(0, shift, self.height / 2))
        self.transform.setRotationX(90)
        self.addComponent(self.transform)

        self.mesh = Qt3DExtras.QCylinderMesh()
        self.mesh.setLength(self.height)
        self.mesh.setRadius(self.diameter / 2)
        self.addComponent(self.mesh)

        self.material = Qt3DExtras.QDiffuseSpecularMaterial(self)
        self.material.setDiffuse(QtGui.QColor(192, 192, 192))
        self.material.setSpecular(QtGui.QColor(255, 255, 255))
        self.material.setShininess(100.0)
        self.addComponent(self.material)

__init__(parent, shift) #

Class constructor.

Source code in cogip/entities/artifacts.py
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def __init__(self, parent: Qt3DCore.QEntity, shift: float):
    """
    Class constructor.
    """
    super().__init__(parent)
    self.parent = parent

    self.transform = Qt3DCore.QTransform(self)
    self.transform.setTranslation(QtGui.QVector3D(0, shift, self.height / 2))
    self.transform.setRotationX(90)
    self.addComponent(self.transform)

    self.mesh = Qt3DExtras.QCylinderMesh()
    self.mesh.setLength(self.height)
    self.mesh.setRadius(self.diameter / 2)
    self.addComponent(self.mesh)

    self.material = Qt3DExtras.QDiffuseSpecularMaterial(self)
    self.material.setDiffuse(QtGui.QColor(192, 192, 192))
    self.material.setSpecular(QtGui.QColor(255, 255, 255))
    self.material.setShininess(100.0)
    self.addComponent(self.material)

PlatformEntity #

Bases: QEntity

Source code in cogip/entities/artifacts.py
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class PlatformEntity(Qt3DCore.QEntity):
    length = 400.0
    width = 100.0
    thickness = 15.0
    height = 109.0

    def __init__(self, parent: Qt3DCore.QEntity):
        """
        Class constructor.
        """
        super().__init__(parent)
        self.parent = parent

        self.transform = Qt3DCore.QTransform(self)
        self.transform.setTranslation(QtGui.QVector3D(0, 0, self.height + self.thickness / 2))
        self.transform.setRotationZ(90)
        self.addComponent(self.transform)

        self.mesh = Qt3DExtras.QCuboidMesh()
        self.mesh.setXExtent(self.length)
        self.mesh.setYExtent(self.width)
        self.mesh.setZExtent(self.thickness)
        self.addComponent(self.mesh)

        self.material = Qt3DExtras.QDiffuseSpecularMaterial(self)
        self.material.setDiffuse(QtGui.QColor(139, 69, 19))
        self.material.setSpecular(QtGui.QColor(255, 255, 255))
        self.material.setShininess(10.0)
        self.addComponent(self.material)

__init__(parent) #

Class constructor.

Source code in cogip/entities/artifacts.py
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
def __init__(self, parent: Qt3DCore.QEntity):
    """
    Class constructor.
    """
    super().__init__(parent)
    self.parent = parent

    self.transform = Qt3DCore.QTransform(self)
    self.transform.setTranslation(QtGui.QVector3D(0, 0, self.height + self.thickness / 2))
    self.transform.setRotationZ(90)
    self.addComponent(self.transform)

    self.mesh = Qt3DExtras.QCuboidMesh()
    self.mesh.setXExtent(self.length)
    self.mesh.setYExtent(self.width)
    self.mesh.setZExtent(self.thickness)
    self.addComponent(self.mesh)

    self.material = Qt3DExtras.QDiffuseSpecularMaterial(self)
    self.material.setDiffuse(QtGui.QColor(139, 69, 19))
    self.material.setSpecular(QtGui.QColor(255, 255, 255))
    self.material.setShininess(10.0)
    self.addComponent(self.material)

TribuneEntity #

Bases: QEntity

A dynamic obstacle detected by the robot.

Base class for rectangle and circle obstacles.

Source code in cogip/entities/artifacts.py
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
class TribuneEntity(Qt3DCore.QEntity):
    """
    A dynamic obstacle detected by the robot.

    Base class for rectangle and circle obstacles.
    """

    def __init__(self, parent: Qt3DCore.QEntity, position: Pose):
        """
        Class constructor.
        """
        super().__init__(parent)
        self.parent = parent

        # Global transform for the artifact
        self.transform = Qt3DCore.QTransform(self)
        self.transform.setTranslation(QtGui.QVector3D(position.x, position.y, 0))
        self.transform.setRotationZ(position.O)
        self.addComponent(self.transform)

        self.platform = PlatformEntity(self)
        self.column1 = ColumnEntity(self, -150)
        self.column2 = ColumnEntity(self, -50)
        self.column3 = ColumnEntity(self, 50)
        self.column4 = ColumnEntity(self, 150)

        # Create a layer used by sensors to activate detection on the artifacts
        self.layer = Qt3DRender.QLayer(self)
        self.layer.setRecursive(True)
        self.layer.setEnabled(True)
        self.addComponent(self.layer)

        Sensor.add_obstacle(self)

__init__(parent, position) #

Class constructor.

Source code in cogip/entities/artifacts.py
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
def __init__(self, parent: Qt3DCore.QEntity, position: Pose):
    """
    Class constructor.
    """
    super().__init__(parent)
    self.parent = parent

    # Global transform for the artifact
    self.transform = Qt3DCore.QTransform(self)
    self.transform.setTranslation(QtGui.QVector3D(position.x, position.y, 0))
    self.transform.setRotationZ(position.O)
    self.addComponent(self.transform)

    self.platform = PlatformEntity(self)
    self.column1 = ColumnEntity(self, -150)
    self.column2 = ColumnEntity(self, -50)
    self.column3 = ColumnEntity(self, 50)
    self.column4 = ColumnEntity(self, 150)

    # Create a layer used by sensors to activate detection on the artifacts
    self.layer = Qt3DRender.QLayer(self)
    self.layer.setRecursive(True)
    self.layer.setEnabled(True)
    self.addComponent(self.layer)

    Sensor.add_obstacle(self)