小编Duc*_*om5的帖子

如何定义模板类的静态const变量

我正在尝试使用预定义的静态常量为向上,向右和向前创建一个向量类,因为它们在所有情况下应该是相同的.应如何定义,甚至可能?

我正在尝试做这样的事情:

template <class T> class vec3
{
public:
    vec3(T x = 0, T y = 0, T z = 0) :
        x(x),
        y(y),
        z(z)
    {
    }

    static const vec3<T> right;
    static const vec3<T> up;
    static const vec3<T> forward;

    T x, y, z;
}
Run Code Online (Sandbox Code Playgroud)

CPP:

#include "vec3.h"

template <typename T>
const vec3<T>::right(1, 0, 0);

template <typename T>
const vec3<T>::up(0, 1, 0);

template <typename T>
const vec3<T>::forward(0, 0, 1);
Run Code Online (Sandbox Code Playgroud)

这会导致语法错误.

c++ templates const static-members

6
推荐指数
1
解决办法
4900
查看次数

后台线程完成后的C#Execute方法

我正在使用线程在程序后台运行计算。我在程序开始时启动线程。如果我在线程完成之前按了一个按钮,它将打开statusBar并将“ openedStatus”设置为true。

这将显示线程的当前进度,并且在线程完成后,我想执行代码的最后一部分:

if (openedStatus)
{
    sb.Close();
    validateBeforeSave();
}
Run Code Online (Sandbox Code Playgroud)

但是,由于无法关闭状态栏跨线程,因此这部分代码将引发异常。

现在的问题是:线程完成后,如何执行代码的最后一部分?

private StatusBar sb = new StatusBar();
private void startVoorraadCalculationThread()
{
    sb.setMaxProgress(data.getProducten().getProductenCopy().Count);
    Thread thread = new Thread(new ThreadStart(this.run));
    thread.Start();
    while (!thread.IsAlive) ;
}

private void run()
{
    for (int i = 0; i < data.getProducten().getProductenCopy().Count; i++ )
    {
        sb.setProgress(i);
        sb.setStatus("Calculating Voorraad: " + (i+1) + "/" + data.getProducten().getProductenCopy().Count);
        data.getProducten().getProductenCopy()[i].getTotaalVoorraad(data.getMaten());
    }
    if (openedStatus)
    {
        sb.Close();
        validateBeforeSave();
    }
    calculationFinished = true;
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading

5
推荐指数
1
解决办法
4795
查看次数

OpenGL 黑色纹理

当尝试使用位图纹理渲染 2D 标签时,我的纹理采样返回黑色。我尝试使用调试,RenderDoc但找不到问题。看起来纹理加载良好并存储在正确的寄存器中,但它仍然呈现黑色。

我什至尝试使用全红色纹理来检查纹理坐标,但纹理仍然显示为黑色。

管道纹理 纹理输出 输出 这是我用于加载/渲染纹理的代码。它试图渲染一个标签。(genMipMaps 为 false)。

void Texture::CreateGLTextureWithData(GLubyte* data, bool genMipMaps) {
    if (bitmap)
        glDeleteTextures(1, &bitmap);

    glGenTextures(1, &bitmap);
    glBindTexture(GL_TEXTURE_2D, bitmap);

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

    if (genMipMaps)
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
    else
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, size.x, size.y, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);

    if (genMipMaps)
        glGenerateMipmap(GL_TEXTURE_2D);
}
Run Code Online (Sandbox Code Playgroud)

定制采样器:

glGenSamplers(1, &linearSampler);
glSamplerParameteri(linearSampler, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glSamplerParameteri(linearSampler, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glSamplerParameteri(linearSampler, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);

glSamplerParameteri(linearSampler, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glSamplerParameteri(linearSampler, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

glSamplerParameteri(linearSampler, GL_TEXTURE_COMPARE_FUNC, GL_NEVER);

glSamplerParameterf(linearSampler, GL_TEXTURE_MIN_LOD, 0);
glSamplerParameterf(linearSampler, GL_TEXTURE_MAX_LOD, …
Run Code Online (Sandbox Code Playgroud)

c++ opengl textures

2
推荐指数
1
解决办法
2770
查看次数

使用spring-data进行通用搜索

我使用spring数据,我觉得非常有趣,但有一个问题,我想要一个通用的方式来搜索实体的领域.

我有一个有很多领域的实体

public class Lostcard implements java.io.Serializable {
    private Integer id;
    private String nom;
    private String prenom;
    private String cin;
    @DateTimeFormat(pattern = "MM/dd/yyyy")
    private Date dateDeclaration;
    @DateTimeFormat(pattern = "MM/dd/yyyy")
    private Date dateDuplicata;
    private String annexeAdmin;
[...]
Run Code Online (Sandbox Code Playgroud)

所以我想这样做:

public interface LostcardRepository extends JpaRepository<Lostcard, Integer> {

List<Lostcard> findByNom(String nom);
List<Lostcard> findByPrenom(String prenom);
List<Lostcard> findByCin(String cin);
    [...]
}
Run Code Online (Sandbox Code Playgroud)

有没有像findByProperty(String属性,Object value)这样的通用方法?

spring spring-data

1
推荐指数
1
解决办法
869
查看次数