小编pdu*_*sen的帖子

如何从这个Voronoi Diagram数据中获取单元格字典?

使用此程序中的voronoi/delaunay图生成库,该库基于Fortune 其算法的原始实现,使用随机点集作为输入数据,我能够获得以下输出数据:

  1. Delaunay三角剖分的边缘列表,意味着对于每个输入点,我可以看到哪些输入点是它的邻居.它们似乎没有任何特定的顺序.
  2. 来自Voronoi图的顶点对列表,我可以用它一次绘制一行Voronoi图.再次,显然没有特别的顺序.
  3. 一个未命名的点对列表,它们似乎与2的列表相同,但顺序不同.
  4. Voronoi图中形成的顶点列表,也显然没有特定的顺序.

以下是使用此库的程序测试运行的数据示例:

Input points:
0   (426.484, 175.16)
1   (282.004, 231.388)
2   (487.891, 353.996)
3   (50.8574, 5.02996)
4   (602.252, 288.418)

Vertex Pairs: 
0   (387.425, 288.533)  (277.142, 5.15565)
1   (387.425, 288.533)  (503.484, 248.682)
2   (277.142, 5.15565)  (0, 288.161)
3   (387.425, 288.533)  (272.213, 482)
4   (503.484, 248.682)  (637.275, 482)
5   (503.484, 248.682)  (642, 33.7153)
6   (277.142, 5.15565)  (279.477, 0)

Voronoi lines?: 
0   (279.477, 0)    (277.142, 5.15565) …
Run Code Online (Sandbox Code Playgroud)

c++ voronoi graph delaunay

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

为什么g ++会说'不匹配'运算符=',当有明显的情况时,Visual Studio可以看到有?

我正在编写一个接口库,允许在类型的对象中访问表中的变量(理论上无限深度)regula::State.我通过operator[]在类中重载来完成此操作,然后返回该类的另一个类,并operator[]根据需要再次调用.例如:

regula::State t;
t["math"]["pi"] = 3.14159;
Run Code Online (Sandbox Code Playgroud)

以上应该将值放在表中的3.14159变量pimath.基本上,它通过t返回一个代理对象来执行此操作,该代理对象math返回另一个代表pi我们实际保存变量的代理对象.这个内部与问题无关,但这里是函数头.

LObject LObject::operator[] (const std::string name);
Run Code Online (Sandbox Code Playgroud)

基本上,在上面的例子中,程序应该使用字符串调用t's 并返回另一个对象,然后使用返回最终对象的字符串调用该对象,然后使用该字符串将值赋给该对象.operator[]"math"operator[]"pi"operator=

template <typename T>
T LObject::operator= (const T& value);
Run Code Online (Sandbox Code Playgroud)

T返回的只是一个副本value通过.

现在,我的代码在Visual C++ 2008中产生NO错误并且工作正常.但是当我尝试在Linux上编译它时g++,我收到以下错误:

../../test/regula-test.cpp:100: error: no match for ‘operator=’ in 
‘L.regula::State::operator[](std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >(((const char*)"Numbers"), ((const std::allocator<char>&)((const 
std::allocator<char>*)(& std::allocator<char>()))))) = Numbers’
../../include/regula.hpp:855: note: candidates are: regula::LObject& …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors g++ operators

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

SQLAlchemy中的BigInteger吗?

如果格式不正确,我谨此致歉;对我来说已经很晚了。

基本上,我将Python与SQLAlchemy结合使用。我正在尝试使用Object Relational Mapper声明式样式将类映射到PostgreSQL DB表。

根据SQLAlchemy关于数据类型的文档,我应该能够使用该类型BigInteger来表示数据库中潜在的大整数,尤其是因为我知道PostgreSQL支持BIGINT数据类型

因此,我尝试像这样声明我的班级:

import sqlalchemy
from sqlalchemy import Column, BigInteger, Text, Sequence, Boolean
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class Account(Base):
    __tablename__ = 'accounts'
    __metadata__ = Base.metadata

    id = Column(BigInteger, Sequence('id_seq'), unique=True, nullable=False)
    email = Column(Text(32), unique=True, nullable=False)

    def __init__(self, email):
        self.email = email
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用此文件时,会遇到以下问题:

Traceback (most recent call last):
  File "sqltest02.py", line 9, in <module>
     from account import Account
  File "/home/pdusen/prog/account.py", line 2, in <module>
    from …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy biginteger

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

如何使WCF数据服务查询拦截器返回JSON结果?

我目前有一个WCF数据服务www.mywebsite.com.这是一个基本服务,如下所示:

namespace MyWeb
{
    [JSONPSupportBehavior]
    public class MyDataService : DataService<MyEntities>
    {
        public static void InitializeService(IDataServiceConfiguration config)
        {
            config.UseVerboseErrors = true;
            config.SetEntitySetAccessRule("Entities", EntitySetRights.AllRead);
            ServiceOperationRights.All);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

目前,我们有野外客户通过发布ajax调用来发出请求,例如:

$.ajax({
        url: serverAddress + "MyDataService.svc/Entities?$top=20&$filter=IsConfirmed%20eq%20null&$format=json&$callback=?",
        headers: {
        version: "1.0",
        platform: "a platform"
        },
        timeout: 12000,
        dataType: 'jsonp',
        cache: false,
        context: document.body
})
Run Code Online (Sandbox Code Playgroud)

这按预期工作,返回包含Entities表中所需对象的javascript对象.

但是,我们希望在服务器端添加一些智能,以限制从此查询返回的结果.为此,我尝试在上述MyDataService类中实现Query Interceptor :

[QueryInterceptor("Entities")]
public IQueryable<Entity> OnQueryFares(IQueryable<Entity> query)
{
    return from e in query 
           where DataCheck(e) 
           select e;
}
Run Code Online (Sandbox Code Playgroud)

目标逻辑是服务现在只返回DataCheck(e)评估为true的表条目.此功能似乎有效.但是,在使用客户端进行测试时,我收到以下错误:

Web Console(4448): Uncaught SyntaxError: …
Run Code Online (Sandbox Code Playgroud)

c# ado.net jsonp wcf-data-services

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