mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-09-07 05:08:13 +08:00
Modeling - Refactor BRepClass and FaceClassifier Implementation (#1167)
- Migrated `TopClass_FaceClassifier` / `TopClass_Classifier2d` implementations to `.pxx` and updated BRepClass/Geom2dHatch wrappers to use them (removing `_0.cxx` generator glue). - Updated BRep class helper headers to use header inlines instead of separate `.lxx` files, and added/rewired passive/face classifier implementations. - Extended `NCollection_DynamicArray` / `NCollection_KDTree` APIs (insert helpers, callback-based range query) and added GTests for the new vector insert operations.
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
// Created on: 1994-02-03
|
||||
// Created by: Jean Marc LACHAUME
|
||||
// Copyright (c) 1994-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <Geom2dHatch_FClass2dOfClassifier.hxx>
|
||||
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dHatch_Intersector.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <TopClass_Classifier2d.pxx>
|
||||
#include <gp_Lin2d.hxx>
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
Geom2dHatch_FClass2dOfClassifier::Geom2dHatch_FClass2dOfClassifier()
|
||||
: myIsSet(false),
|
||||
myFirstCompare(true),
|
||||
myFirstTrans(true),
|
||||
myParam(0.0),
|
||||
myTolerance(0.0),
|
||||
myClosest(0),
|
||||
myState(TopAbs_UNKNOWN),
|
||||
myIsHeadOrEnd(false)
|
||||
{
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
void Geom2dHatch_FClass2dOfClassifier::Reset(const gp_Lin2d& L, const double P, const double Tol)
|
||||
{
|
||||
TopClass_Classifier2d::Reset(myLin,
|
||||
myParam,
|
||||
myTolerance,
|
||||
myState,
|
||||
myFirstCompare,
|
||||
myFirstTrans,
|
||||
myClosest,
|
||||
myIsSet,
|
||||
myIsHeadOrEnd,
|
||||
L,
|
||||
P,
|
||||
Tol);
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
void Geom2dHatch_FClass2dOfClassifier::Compare(const Geom2dAdaptor_Curve& E,
|
||||
const TopAbs_Orientation Or)
|
||||
{
|
||||
TopClass_Classifier2d::Compare(myClosest,
|
||||
myIntersector,
|
||||
myLin,
|
||||
myParam,
|
||||
myTolerance,
|
||||
myState,
|
||||
myFirstCompare,
|
||||
myFirstTrans,
|
||||
myTrans,
|
||||
myIsHeadOrEnd,
|
||||
E,
|
||||
Or);
|
||||
}
|
||||
Reference in New Issue
Block a user