    @Test
    public void renderMarker_return() {

        GeneratePnPObservation generator = new GeneratePnPObservation(60,640,480);
        generator.random = new Random(1234);
        generator.stdevPixel = 0;

        List<Point3D_F64> marker = new ArrayList<>();
        Se3_F64 BodyToCamera = SpecialEuclideanOps_F64.eulerXyz(0,0,5,0,0,0,null);

        marker.add( new Point3D_F64(0,1,0));
        marker.add( new Point3D_F64(1,1,0));
        marker.add( new Point3D_F64(1,0,0));

        List<Point2D_F64> pixels = new ArrayList<>();
        for (int i = 0; i < marker.size(); i++) {
            pixels.add( new Point2D_F64() );
        }

        // marker is in front
        assertTrue(generator.renderMarker(marker,BodyToCamera,pixels));

        // marker is behind
        SpecialEuclideanOps_F64.eulerXyz(0,0,-5,Math.PI/2.0,0,0,BodyToCamera);
        assertFalse(generator.renderMarker(marker,BodyToCamera,pixels));

        // outside the image
        SpecialEuclideanOps_F64.eulerXyz(0,1000,0,0.1,Math.PI/2.0,0,BodyToCamera);
        assertFalse(generator.renderMarker(marker,BodyToCamera,pixels));
        SpecialEuclideanOps_F64.eulerXyz(0,0,1000,0.1,Math.PI/2.0,0,BodyToCamera);
        assertFalse(generator.renderMarker(marker,BodyToCamera,pixels));
    }