You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于OpenCascade源码注释中‘NYI’缩写含义的技术咨询

What does "NYI" mean in OpenCascade source code comments?

Great question! Let's break down the meaning of NYI in OpenCascade's codebase, especially since outdated comments can make it seem confusing at first glance.

Core Meaning

First and foremost, NYI stands for "Not Yet Implemented"—this is the standard, intended definition across OpenCascade's source code. It was originally used by developers to flag features, validation checks, or logic that was planned but hadn't been coded yet.

Why It Seems "Unreasonable" in Some Cases

You noticed that some items marked NYI (like BRepCheck_InvalidToleranceValue) are actually implemented now—this is a common quirk in long-lived open-source projects. As OpenCascade evolved over decades, contributors added the missing functionality but forgot to update the old NYI markers in comments. Those leftover tags are just outdated artifacts, not an indication of a different meaning.

Addressing Your Other Guesses

  • French abbreviation: While OpenCascade has plenty of French-language comments (thanks to its roots in French research institutions), NYI is not a French acronym. It's an English tech shorthand that got mixed into French comments due to cross-team collaboration across regions.
  • Name initials: There's no record of core OpenCascade contributors with the initials N-Y-I, so this can be ruled out entirely.

Example Context

To tie this directly to your code snippet:

class BRepCheck_Analyzer {
public:
    DEFINE_STANDARD_ALLOC
    //! Constructs a shape validation object defined by the shape S.
    //! <S> is the shape to control. <GeomControls> If
    //! False only topological informaions are checked.
    //! The geometricals controls are
    //! For a Vertex :
    //! BRepCheck_InvalidToleranceValue NYI
    //! For an Edge :
    //! BRepCheck_InvalidCurveOnClosedSurface,
    //! BRepCheck_InvalidCurveOnSurface,
    //! BRepCheck_InvalidSameParameterFlag,
    //! BRepCheck_InvalidToleranceValue NYI

The NYI here originally meant the tolerance value check for vertices and edges hadn't been built yet. Over time, that check was fully implemented, but the comment wasn't updated—leaving the confusing marker behind.

内容的提问来源于stack exchange,提问作者Sam Mason

火山引擎 最新活动