问题列表 - 第36548页

自适应隐式曲面多边形

由于这里发现的Bloomenthal,我一直在使用一种较老的隐式曲面算法,基本上是基于四面体的算法.这种方法效果很好,但有一个缺点.由于它使用固定网格,因此根据所选的网格大小,它会浪费多边形或忽略细节.

所以我的问题是,我有哪些改进方案?是否有任何可自由使用的(源或良好描述)隐式曲面算法,它们更适应模型的曲率?我遗失的任何选项?

到目前为止,我找到了一篇看起来很有前景的论文,对其他人的建议将不胜感激.

algorithm computational-geometry implicit-surface

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

查询位标志的状态?

我试图解析一些具有按位标志列的文件.这个标志中有11位,我需要找出文件中的每一行,第5位的值是什么(从1开始).

c++

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

忽略DOCTYPE .dtd,但.dtd文件必须仍然存在

我有一个处理HTTP请求的Web服务.它接收的文档具有嵌入的DOCTYPE,用于指定.dtd文件.我希望使用更新的XML架构验证文件,以便在较新的设备连接到我的服务时制作.

我可以成功忽略.dtd文件中的验证,但.dtd文件必须存在于我的本地硬盘驱动器上.我想删除这些过时的文件,并没有找到办法.

我正在处理的示例XML文档:

<?xml version="1.0" encoding="us-ascii" standalone="no"?>
<!DOCTYPE SomeMessage SYSTEM "SomeMessage.dtd">
<SomeMessage>data</SomeMessage>
Run Code Online (Sandbox Code Playgroud)

我用来打开文档的功能:

private void LoadXmlDoc(XmlTextReader myXmlTextReader)
{
    XmlReaderSettings readerSettings = new XmlReaderSettings();
    readerSettings.ValidationType = ValidationType.Schema;
    readerSettings.Schemas.Add(null, MyGoodSchemaFile);
    readerSettings.DtdProcessing = DtdProcessing.Ignore;
    readerSettings.XmlResolver = null; // Added as a test.

    readerSettings.ValidationEventHandler += ValidationEventHandle;
    XmlReader myXmlReader = XmlReader.Create(myXmlTextReader, readerSettings);

    XmlDocument myXmlDocument = new XmlDocument();
    myXmlDocument.XmlResolver = null; // Added as a test.
    myXmlDocument.Load(myXmlReader); // Exception thrown here!
}
Run Code Online (Sandbox Code Playgroud)

捕获的异常:

System.IO.FileNotFoundException: Could not find file 'c:\windows\system32\inetsrv\SomeMessage.dtd'.
File name: 'c:\windows\system32\inetsrv\SomeMessage.dtd'
   at System.IO.__Error.WinIOError(Int32 errorCode, String …

c# xml dtd

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

JUnit可以模拟OutOfMemoryErrors吗?

我有一种尝试调用内存中图像转换器的方法,如果失败,则尝试在磁盘上进行图像转换.(内存中的图像转换器将尝试分配图像的第二个副本,因此如果原始图像非常大,我们可能没有足够的内存.)

public BufferedImage convert(BufferedImage img, int type) {
  try {
    return memory_converter.convert(type);
  }
  catch (OutOfMemoryError e) {
    // This is ok, we just don't have enough free heap for the conversion.
  }

  // Try converting on disk instead.
  return file_converter.convert(img, type);
}
Run Code Online (Sandbox Code Playgroud)

我想为JUnit编写单元测试来运行每个代码路径,但是运行JUnit并且用足够少的堆来强制执行它是不方便的OutOfMemoryError.有没有办法模拟OutOfMemoryErrorJUnit内部?

在我看来,我可以创建一个假子类,BufferedImage它会OutOfMemoryError在第一次调用内存转换器调用的方法时抛出,但随后会在后续调用中正常运行.不过,这似乎是一种黑客行为.

java testing junit unit-testing out-of-memory

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

django视图中的多模型过滤

我正在尝试从特定模型中获取查询.我无法正确过滤数据.

我已经修复了一个错误,它返回了其他用户数据,但现在它返回了模型中一行数据的重复项.

events = Event.objects.filter(club=user.get_profile().main_club) | Event.objects.filter(invclub=user.get_profile().main_club) | Event.objects.filter(invited=user)
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试执行的查询.

我的目标是,让用户手动邀请(邀请)他们的俱乐部被邀请(invclub)或他们的俱乐部是主办俱乐部(俱乐部)的所有活动

我可能正朝着错误的方向接近这个,并且可能更容易做到这一点.任何帮助是极大的赞赏.

编辑:comms.models

class Event(models.Model):
     title = models.CharField(max_length='255')
     club = models.ForeignKey(Club, verbose_name="Host Club")
     invclub = models.ManyToManyField(Club, verbose_name="Invited Clubs", related_name="Invited Clubs", blank=True)
     l_desc = models.CharField(max_length='255', verbose_name="Location Description")
     l_long = models.CharField(max_length='255', verbose_name="Longitude", blank=True)
     l_lat = models.CharField(max_length='255', verbose_name="Latitude", blank=True)
     edate = models.DateTimeField(default=datetime.now, verbose_name="Event Date", blank=True)
     length = models.CharField(max_length='255', verbose_name="Event Length", blank=True)
     invited = models.ManyToManyField(User, related_name="Invited Users", blank=True)
     attending = models.ManyToManyField(User, related_name="Attending Users", blank=True)
     declined = models.ManyToManyField(User, related_name="Declined Users", …
Run Code Online (Sandbox Code Playgroud)

django django-models

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

平衡绳索的串联复杂性是什么?

我查看了不同的论文,以下是我收集的信息:

  • SGI实现C线既不能保证长绳的O(1)时间连接,也不能保证较短的绳的O(1)时间深度.
  • 不同的来源相互矛盾.维基百科声称O(1)连接.该页面表示只有当一个操作数较小时才连接O(1),否则连接为O(log N).

那么,连接的时间复杂度是多少?何时执行完全重新平衡以确保此连接复杂性,同时保持树平衡?在谈论这种复杂性时,是否假设了某些特定的使用模式

string algorithm stl ropes data-structures

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

是否存在非全局等价的perlbrew?

我现在正在使用perlbrew来管理perl的多个版本,但perlbrew是全局的.如果我perlbrew switch perl-5.10.1在任何shell中,那么所有shell和脚本现在将使用perl版本5.10.1.没有孤立.有没有办法让perlbrew开关在shell本地,或者是否有类似的工具能够在本地更改活动perl?

environment perl multiple-versions perlbrew

5
推荐指数
2
解决办法
492
查看次数

如何在C#中进行静态转换?

鉴于这样的几种类型:

interface I {}
class C : I {}
Run Code Online (Sandbox Code Playgroud)

如何进行静态类型转换?我的意思是:我如何以在编译时检查的方式更改其类型?

在C++中你可以做到static_cast<I*>(c).在C#中,我能做的最好是创建备用类型的临时变量并尝试分配它:

var c = new C();
I i = c;  // statically checked
Run Code Online (Sandbox Code Playgroud)

但是这会阻止流畅的编程.我必须创建一个新的变量来进行类型检查.所以我已经确定了这样的事情:

class C : I
{
    public I I { get { return this; } }
}
Run Code Online (Sandbox Code Playgroud)

现在我可以静态转换C到我刚好打电话c.I.

在C#中有更好的方法吗?

(如果有人想知道我为什么要这样做,那是因为我使用显式接口实现,并且从另一个成员函数中调用其中一个需要首先转换为接口类型,否则编译器无法找到该方法.)

UPDATE

我想出的另一个选项是对象扩展:

public static class ObjectExtensions
{
    [DebuggerStepThrough]
    public static T StaticTo<T>(this T o)
    {
        return o;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以((I)c).Doit()也可以c.StaticTo<I>().Doit().嗯...可能仍然坚持简单演员.想想我还是会发布这个其他选项.

c# type-conversion

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

将通用集合公开为只读是否有良好的模式?

所以我有这些类暴露了一组子对象.

我不希望其他类添加或删除集合中的对象,因为我需要连接到子对象中的事件,因此当它们被添加或删除时,我希望能够进行其他处理.但我真的很喜欢内部操纵泛型的简易性.

我提到这是一个WPF应用程序,所以我需要INotifySupport吗?

我能想到的最好的就是这样的.

public class foo : INotifyPropertyChanged
{
    protected List<ChildFoo> _Children = new List<ChildFoo>();

    public foo()
    {
    }

    public void AddChild(ChildFoo newChild)
    {
        DoAttachLogic(newChild);
        _Children.Add(newChild);
        NotifyPropertyChange("Children");
    }

    public void RemoveChild(ChildFoo oldChild)
    {
        DoRemoveLogic(oldChild);
        _Children.Remove(oldChild);
        NotifyPropertyChange("Children");
    }

    public ChildFoo[] Children
    {
        get
        {
            return _Children.ToArray();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我没有看到这种设计存在严重缺陷吗?

每次访问Children属性时,我们都会将列表转换为数组.

对此的任何建议都会很棒.

c# architecture generics wpf design-patterns

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

从路径中删除`..`和相关文件夹的最快方法?

这个问题

给出如此的路径:

G:\path\foo\..\bar\baz.txt
Run Code Online (Sandbox Code Playgroud)

我们可以立即在脑海中解析,并且操作系统将解析为:

G:\path\bar\baz.txt
Run Code Online (Sandbox Code Playgroud)

以编程方式执行此操作的最快方法是什么?换句话说,库函数是否已经存在,它将为我干净利落地做到这一点,所以我不会自己搞砸它.

我的第一个答案

// in pseudocode
string[] s = input.split('\')
string output
for ( int i = s.length ; i > 0 ; i-- ) {
  if ( s[i] == ".." ) i--;
  else output = s[i] + "\" + output
}
return output
Run Code Online (Sandbox Code Playgroud)

但请注意,这个答案不包括案例(意外,但潜在)

G:\path\foo\..\..\bar\baz.txt
Run Code Online (Sandbox Code Playgroud)

这当然是

G:\bar\baz.txt
Run Code Online (Sandbox Code Playgroud)

TSQL函数也可以运行!!!!!


这个问题不重要,但我想分享;)

我将它从返回值(关闭webservice调用)传递到sproc(用于XML碎化),并希望消除foo\..\因为我传入的值被用作防止以后重复处理的密钥.如果我插入G:\path\foo\..\bar\baz.txt并插入另一个脚本G:\path\bar\baz.txt文件将被处理两次.

.net c# t-sql

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