C3D Toolkit  Kernel - 112346, Vision - 2.6.2.8
MbChamferSurface Cписок членов класса

Полный список членов класса MbChamferSurface, включая наследуемые из базового класса

_DeriveU(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_DeriveUU(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_DeriveUUU(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_DeriveUUV(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_DeriveUV(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_DeriveUVV(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_DeriveV(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_DeriveVV(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_DeriveVVV(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_Normal(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_NormalD(double u, double v, double du, double dv, MbVector3D &der) constMbSurfacevirtual
_NormalDD(double u, double v, double du, double dv, MbVector3D &der) constMbSurfacevirtual
_NormalU(double u, double v, MbVector3D &) constMbSurfacevirtual
_NormalUU(double u, double v, MbVector3D &) constMbSurfacevirtual
_NormalUV(double u, double v, MbVector3D &) constMbSurfacevirtual
_NormalV(double u, double v, MbVector3D &) constMbChamferSurfacevirtual
_NormalVV(double u, double v, MbVector3D &) constMbSurfacevirtual
_PointNormal(double u, double v, MbCartPoint3D &pnt, MbVector3D &deru, MbVector3D &derv, MbVector3D &norm, MbVector3D &noru, MbVector3D &norv, MbVector3D &deruu, MbVector3D &dervv, MbVector3D &deruv) constMbSurfacevirtual
_PointOn(double u, double v, MbCartPoint3D &) constMbChamferSurfacevirtual
MbSmoothSurface::_PointOn(const MbCartPoint &uv, MbCartPoint3D &p) constMbSurfaceinline
_TangentU(double u, double v, MbVector3D &) constMbSurfacevirtual
_TangentV(double u, double v, MbVector3D &) constMbSurfacevirtual
AddProperties(MbProperties &properties)MbSmoothSurface
AddRef() constMbRefItem
AddTesselation(const MbStepData &stepData, MbeParamDir dir, double u1, double u2, double v1, double v2, SArray< double > &uu, SArray< double > &vv) constMbSurface
AddYourGabaritTo(MbCube &c) constMbSurfacevirtual
CalculateGabarit(MbCube &) constMbChamferSurfacevirtual
CalculateLocalGabarit(const MbMatrix3D &, MbCube &) constMbChamferSurfacevirtual
CalculateMesh(const MbStepData &stepData, const MbFormNote &note, MbMesh &mesh) constMbSurfacevirtual
CalculatePolygon(double minPar, double maxPar, double constPar, MbeParamDir dir, const MbStepData &stepData, MbPolygon3D &polygon) constMbSurface
CalculateRect(const MbPlacement3D &place, MbRect &rect) constMbSurface
CalculateSurfaceGrid(const MbStepData &stepData, bool sense, MbGrid &grid) constMbSurfacevirtual
CalculateSurfaceWire(const MbStepData &stepData, size_t beg, MbMesh &mesh, size_t uMeshCount=c3d::WIRE_MAX, size_t vMeshCount=c3d::WIRE_MAX) constMbSurfacevirtual
ChangeCarrier(const MbSpaceItem &item, MbSpaceItem &init)MbChamferSurfacevirtual
ChangeCarrierBorne(const MbSurface &item, MbSurface &init, const MbMatrix &matr)MbChamferSurfacevirtual
CheckApproxPointParamsClosed(bool isU, double par, size_t degree, size_t pCount, SArray< double > &tList, SArray< double > &aKnots) constMbSurface
CheckApproxPointParamsOpen(bool isU, double par, size_t degree, size_t pCount, SArray< double > &tList, SArray< double > &aKnots) constMbSurface
CheckParam(double &u, double &v) constMbSmoothSurfaceinlineprotected
CheckSurfParams(double &u, double &v) constMbSurfacevirtual
CopyGabarit(const MbSurface &s, const MbVector3D *to=c3d_null)MbSurfaceinline
CreateBound(bool s) constMbSmoothSurface
CreateNormalPlacements(const MbVector3D &axisZ, double angle, SArray< MbPlacement3D > &places) constMbSurfacevirtual
CreateProperty(MbePrompt name) constMbSurfacevirtual
CreateTangentPlacements(const MbVector3D &axisZ, SArray< MbPlacement3D > &places) constMbSurfacevirtual
CreateUconstPlacements(const MbVector3D &axisZ, double angle, bool normalPlace, SArray< MbPlacement3D > &places) constMbSurface
CreateVconstPlacements(const MbVector3D &axisZ, double angle, bool normalPlace, SArray< MbPlacement3D > &places) constMbSurface
Cube() constMbSurfaceinline
cubeMbSurfacemutableprotected
CurvatureU(double u, double v) constMbSurfacevirtual
CurvatureV(double u, double v) constMbChamferSurfacevirtual
curve1MbSmoothSurfaceprotected
curve2MbSmoothSurfaceprotected
CurveClassification(const MbCurve &curve, SArray< double > &tcurv, SArray< MbVector > &dir) constMbSurfacevirtual
CurveIntersection(const MbCurve3D &curv, SArray< MbCartPoint > &uv, SArray< double > &tt, bool ext0, bool ext, bool touchInclude=false) constMbSurfacevirtual
CurveIntersectNewton(const MbCurve3D &, double funcEpsilon, size_t iterLimit, double &u0, double &v0, double &t1, bool ext0, bool ext1) constMbSmoothSurfacevirtual
CurvesDuplicate() constMbChamferSurfacevirtual
CurveStraighten(double t1, double t2)MbSmoothSurface
CurveTangentNewton(const MbCurve3D &curv1, double funcEpsilon, size_t iterLimit, double &u0, double &v0, double &t1, bool ext0, bool ext1) constMbSurfacevirtual
CurveU(double v, MbRect1D *pRgn, bool bApprox=true) constMbSurfacevirtual
CurveUV(const MbLineSegment &segm, bool bApprox=true) constMbSurfacevirtual
CurveV(double u, MbRect1D *pRrn, bool bApprox=true) constMbChamferSurfacevirtual
DecRef() constMbRefItem
DeriveU(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeriveUU(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeriveUUU(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeriveUUV(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeriveUV(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeriveUVV(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeriveV(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeriveVV(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeriveVVV(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
DeviationStepAlong(double u, double v, double angle, bool alongU, const MbVector3D &der, const MbVector3D &sec) constMbSurfaceprotected
DeviationStepU(double u, double v, double angle) constMbChamferSurfacevirtual
DeviationStepV(double u, double v, double angle) constMbChamferSurfacevirtual
DirectPointProjection(const MbCartPoint3D &pnt, const MbVector3D &vect, SArray< MbCartPoint > &uv, bool ext, MbRect2D *uvRange=c3d_null) constMbSurfacevirtual
DirectPointProjectionNewton(const MbCartPoint3D &p, const MbVector3D &vect, size_t iterLimit, double &u, double &v, double &w, bool ext) constMbSurfacevirtual
distance1MbSmoothSurfaceprotected
distance2MbSmoothSurfaceprotected
DistanceRatio(bool firstCurve, MbCartPoint3D &p, double distance) constMbSmoothSurfacevirtual
DistanceToBorder(const MbCartPoint &point, double &epsilon) constMbSurfacevirtual
DistanceToCurve(const MbCurve3D &curve, double &u, double &v, double &t, bool tCalc=false) constMbSurfacevirtual
DistanceToPoint(const MbCartPoint3D &) constMbSurfacevirtual
DistanceToSurface(const MbSurface &surf1, double &u0, double &v0, double &u1, double &v1) constMbSurfacevirtual
Duplicate(MbRegDuplicate *=c3d_null) constMbChamferSurfacevirtual
Explore(double &u, double &v, bool ext, MbCartPoint3D &pnt, MbVector3D &uDer, MbVector3D &vDer, MbVector3D *uuDer, MbVector3D *vvDer, MbVector3D *uvDer, MbVector3D *nor) constMbChamferSurfacevirtual
MbSurface::Explore(double &u, double &v, MbCartPoint3D &pnt, MbVector3D &uDer, MbVector3D &vDer) constMbSurfaceinlinevirtual
Family() constMbSurfacevirtual
formMbSmoothSurfaceprotected
Form() constMbSmoothSurfaceinline
GetBasisItems(RPArray< MbSpaceItem > &s)MbChamferSurfacevirtual
GetBasisPoints(MbControlData3D &) constMbSurfacevirtual
GetBasisSurface() constMbSurfacevirtual
GetBuildType() constMbSmoothSurface
GetCenterLines(std::vector< MbCurve3D *> &clCurves) constMbSurfacevirtual
GetCentre(MbCartPoint3D &c) constMbSurfacevirtual
GetClassDescriptor(const VersionContainer &) const =0TapeBasepure virtual
GetControlPlacement(MbPlacement3D &place, bool sameSense=true) constMbSurface
GetCurve1() constMbSmoothSurfaceinline
GetCurve2() constMbSmoothSurfaceinline
GetCylinderAxis(MbAxis3D &axis) constMbChamferSurfacevirtual
GetDistance(bool s) constMbChamferSurfacevirtual
GetDistances(double u, double &d1, double &d2) constMbChamferSurfacevirtual
GetFilletDirection() constMbSurfacevirtual
GetFilletRadius(const MbCartPoint3D &p) constMbSurfacevirtual
GetGabarit() constMbSurfaceinline
GetGabDiagonal() constMbSurfaceinline
GetIsoclinal(const MbVector3D &nor, SArray< MbCartPoint > &uv) constMbSurfacevirtual
GetLimitPoint(ptrdiff_t number, MbCartPoint3D &pnt) constMbSurfacevirtual
GetLimitPoint(ptrdiff_t number, MbCartPoint &pnt) constMbSurfacevirtual
GetLimitPoint(ptrdiff_t number) constMbSurface
GetLock() constMbNestSyncItem
GetMatrix(double xMin, double xMax, double yMin, double yMax, MbMatrix &matr) constMbSurface
GetMatrixToSurface(const MbSurface &surf, MbMatrix &matr, VERSION version, double precision=METRIC_PRECISION) constMbChamferSurfacevirtual
GetMaxParamDeltaU() constMbSurfaceinline
GetMaxParamDeltaV() constMbSurfaceinline
GetParamDelta() constMbSmoothSurfacevirtual
GetParamPrice() constMbSmoothSurfacevirtual
GetParamsToUnit(double u, double v, double &uParam, double &vParam) constMbSurfacevirtual
GetPeriod(ptrdiff_t i) constMbSurfacevirtual
GetPlacement(MbPlacement3D *place, bool exact=false) constMbSurface
GetPlanePlacement(MbPlacement3D &place) constMbSurface
GetPoleUMax() constMbSmoothSurfacevirtual
GetPoleUMin() constMbSmoothSurfacevirtual
GetPoleVMax() constMbSmoothSurfacevirtual
GetPoleVMin() constMbSmoothSurfacevirtual
GetProperties(MbProperties &properties)MbChamferSurfacevirtual
GetPureName(const VersionContainer &) constTapeBasevirtual
GetRadius() constMbSurfacevirtual
GetRect(MbRect &r) constMbSurfaceinline
GetRect(MbRect2D &r) constMbSurfaceinline
GetRegistrable() constTapeBase
GetSmoothRadius() constMbChamferSurfacevirtual
GetSurface() constMbSurfacevirtual
GetTesselation(const MbStepData &stepData, double u1, double u2, double v1, double v2, SArray< double > &uu, SArray< double > &vv) constMbSurfacevirtual
GetUCount() constMbSmoothSurfacevirtual
GetUEpsilon() constMbSurface
GetUEpsilon(double u, double v) constMbSurface
GetUMax() constMbSmoothSurfacevirtual
GetUMeshCount() constMbChamferSurfacevirtual
GetUMid() constMbSurfaceinline
GetUMin() constMbSmoothSurfacevirtual
GetUPairs(double v, SArray< double > &u) constMbSurfacevirtual
GetUParamToUnit() constMbSurfacevirtual
GetUParamToUnit(double u, double v) constMbSurfacevirtual
GetUParamToUnit(const MbCartPoint &uv) constMbSurfaceinline
GetUPeriod() constMbSmoothSurfacevirtual
GetURange() constMbSurfaceinline
GetURegion() constMbSurface
GetURegion(double u, double v) constMbSurface
GetUseCount() constMbRefItem
GetVCount() constMbSmoothSurfacevirtual
GetVEpsilon() constMbSurface
GetVEpsilon(double u, double v) constMbSurface
GetVMax() constMbSmoothSurfacevirtual
GetVMeshCount() constMbChamferSurfacevirtual
GetVMid() constMbSurfaceinline
GetVMin() constMbSmoothSurfacevirtual
GetVPairs(double u, SArray< double > &v) constMbSurfacevirtual
GetVParamToUnit() constMbSurfacevirtual
GetVParamToUnit(double u, double v) constMbSurfacevirtual
GetVParamToUnit(const MbCartPoint &uv) constMbSurfaceinline
GetVPeriod() constMbSurfacevirtual
GetVRange() constMbSurfaceinline
GetVRegion() constMbSurface
GetVRegion(double u, double v) constMbSurface
IncludePoint(double u, double v)MbSurfacevirtual
Init0(double wmin, double wmax, bool insertPoints=true)MbChamferSurfacevirtual
InsertPoints(double &t1, const MbCartPoint &p1, bool add1, double &t2, const MbCartPoint &p2, bool add2)MbSmoothSurfacevirtual
IsA() constMbChamferSurfacevirtual
IsFamilyRegistrable() constMbSpaceItemvirtual
IsLineU() constMbSurfacevirtual
IsLineV() constMbChamferSurfacevirtual
IsoclinalNewton(const MbVector3D &dir, size_t iterLimit, double &u, double &v) constMbSurface
IsPlanar(double accuracy=METRIC_EPSILON) constMbChamferSurfacevirtual
IsPointOn(const MbCartPoint3D &, double eps=METRIC_PRECISION) constMbSurface
IsPole(double u, double v) constMbSmoothSurfacevirtual
MbSurface::IsPole(const MbCartPoint &uv) constMbSurfaceinline
IsRectangular() constMbSurfacevirtual
IsSame(const MbSpaceItem &other, double accuracy=LENGTH_EPSILON) constMbChamferSurfacevirtual
IsSameBase(const MbSurface &) constMbSurfacevirtual
IsShift(const MbSpaceItem &obj, MbVector3D &dir, bool &isSame, double accuracy=LENGTH_EPSILON) constMbSurfacevirtual
IsSimilar(const MbSpaceItem &) constMbChamferSurfacevirtual
IsSimilarToSurface(const MbSurface &surf, VERSION version, double precision=METRIC_PRECISION) constMbChamferSurfacevirtual
IsSpecialSimilarToSurface(const MbSurface &surf, VERSION version, double precision=METRIC_PRECISION) constMbSurfacevirtual
IsSpinePeriodic() constMbSurfacevirtual
IsUClosed() constMbSmoothSurfacevirtual
IsUPeriodic() constMbSurfacevirtual
IsUTouch() constMbSurfacevirtual
IsVClosed() constMbSmoothSurfacevirtual
IsVPeriodic() constMbSurfacevirtual
IsVTouch() constMbSurfacevirtual
Lock() constMbNestSyncItem
MakeContour(bool sense) constMbSurfacevirtual
MakeCurve(size_t number1, size_t number2) constMbSurface
MakeSegment(size_t i, bool sense) constMbSurfacevirtual
MbChamferSurface(MbSurfaceCurve &curv1, MbSurfaceCurve &curv2, double d1, double d2, MbeSmoothForm fm)MbChamferSurface
MbChamferSurface(MbSurface &surf1, MbCurve &curv1, MbSurface &surf2, MbCurve &curv2, double d1, double d2, MbeSmoothForm fm)MbChamferSurface
MbRefItem()MbRefItem
MbSmoothSurface(MbSurfaceCurve &crv1, MbSurfaceCurve &crv2, MbeSmoothForm fm, double d1, double d2)MbSmoothSurfaceprotected
MbSmoothSurface(MbSurface &surf1, MbCurve &curv1, MbSurface &surf2, MbCurve &curv2, MbeSmoothForm fm, double d1, double d2)MbSmoothSurfaceprotected
MbSmoothSurface(const MbSmoothSurface &, MbRegDuplicate *)MbSmoothSurfaceprotected
MbSmoothSurface(const MbSmoothSurface *)MbSmoothSurfaceprotected
MbSpaceItem()MbSpaceItemprotected
MbSurface()MbSurfaceprotected
MbSurface(const MbSurface &)MbSurfaceprotected
MeanGaussCurvature(double u, double v, double &mean, double &gauss) constMbSurface
MetricStepU(double u, double v, double length) constMbSurfacevirtual
MetricStepV(double u, double v, double length) constMbChamferSurfacevirtual
Move(const MbVector3D &, MbRegTransform *=c3d_null)MbChamferSurfacevirtual
MoveGabarit(const MbVector3D &v)MbSurfaceinlineprotected
NearDirectPointProjection(const MbCartPoint3D &pnt, const MbVector3D &vect, double &u, double &v, bool ext, MbRect2D *uvRange=c3d_null, bool onlyPositiveDirection=false) constMbSurfacevirtual
NearPointProjection(const MbCartPoint3D &pnt, double &u, double &v, bool ext, MbRect2D *uvRange=c3d_null) constMbSurfacevirtual
Normal(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
MbSmoothSurface::Normal(MbCartPoint &uv, MbVector3D &v) constMbSurfaceinline
NormalCalculation(const MbVector3D &uDer, const MbVector3D &vDer, double u, double v, bool ext, MbVector3D &nor) constMbSurfaceprotected
NormalCurvature(double u, double v, double du, double dv) constMbSurface
NormalCurvatureU(double u, double v) constMbSurface
NormalCurvatureV(double u, double v) constMbSurface
NormalU(double &u, double &v, MbVector3D &) constMbSurfacevirtual
NormalV(double &u, double &v, MbVector3D &) constMbChamferSurfacevirtual
NurbsParam(const MbNurbsParameters &tParam, bool uParam, double op1, double op2, bool &isClosedNurbs, double &epsilon, SArray< double > &params) constMbSurface
NurbsSurface(double, double, double, double, bool bmatch=false) constMbChamferSurfacevirtual
MbSmoothSurface::NurbsSurface(const MbNurbsParameters &uParam, const MbNurbsParameters &vParam) constMbSmoothSurfacevirtual
MbSurface::NurbsSurface(bool bmatch=false) constMbSurface
Offset(double d, bool same) constMbChamferSurfacevirtual
operator[](size_t) constMbSurfaceinline
OrientPlacement(MbPlacement3D &place, bool normalSense=true) constMbSurface
ParamArea() constMbSurfacevirtual
Periodicity() constMbSurfacevirtual
PlacementNewton(const MbVector3D &vec, double angle, MbeParamDir switchPar, size_t iterLimit, double &u, double &v) constMbSurface
PointClassification(const MbCartPoint &pnt, bool ignoreClosed=false) constMbSurfacevirtual
PointOn(double &u, double &v, MbCartPoint3D &) constMbChamferSurfacevirtual
MbSurface::PointOn(MbCartPoint &uv, MbCartPoint3D &p) constMbSurfaceinline
PointProjectionNewton(const MbCartPoint3D &p, size_t iterLimit, double &u, double &v, bool ext) constMbSurfacevirtual
PointRelative(const MbCartPoint3D &pnt, double eps=ANGLE_REGION) constMbSurfacevirtual
poleMaxMbSmoothSurfaceprotected
poleMinMbSmoothSurfaceprotected
PrepareIntegralData(const bool forced) constMbSurfacevirtual
PrepareWrite() constMbSpaceIteminline
ProjectCurveOnSimilarSurface(const MbCurve3D &spaceCurve, const MbCurve &curve, const MbSurface &surfNew, MbCurve *&curveNew) constMbSurfacevirtual
ProjectCurveOnSimilarSurface(const MbCurve3D &spaceCurve, const MbCurve &curve, const MbSurface &surfNew, SPtr< MbCurve > &curveNew) constMbSurface
ProlongSurface(double u, const MbCartPoint &p1, const MbCartPoint &p2, bool anyCase)MbSmoothSurface
Refresh()MbSurfacevirtual
RefType() constMbSpaceItemvirtual
Release() constMbRefItem
Rotate(const MbAxis3D &, double angle, MbRegTransform *=c3d_null)MbChamferSurfacevirtual
Salient() constMbSurfacevirtual
SetBasisPoints(const MbControlData3D &)MbSurfacevirtual
SetBasisSurface()MbSurfacevirtual
SetCurve1() constMbSmoothSurfaceinline
SetCurve2() constMbSmoothSurfaceinline
SetDirtyGabarit() constMbSurfaceinline
SetEqual(const MbSpaceItem &)MbChamferSurfacevirtual
SetExtendedParamRegion(double u1, double v1, double u2, double v2)MbSurfacevirtual
SetLimit(double u1, double v1, double u2, double v2)MbSurfacevirtual
SetLimit(const MbRect &)MbSurface
SetPole()MbSmoothSurface
SetProperties(const MbProperties &properties)MbChamferSurfacevirtual
SetRegistrable(RegistrableRec regs=registrable) constTapeBase
SetSurface()MbSurfacevirtual
SilhouetteNewton(const MbVector3D &eye, bool perspective, const MbAxis3D *axis, MbeParamDir switchPar, double funcEpsilon, size_t iterLimit, double &u, double &v, bool ext) constMbSurfacevirtual
size() constMbSurfaceinline
StepAlong(double u, double v, double sag, bool alongU, double stepMinCoeff, const MbVector3D &der, const MbVector3D &sec) constMbSurfaceprotected
StepU(double u, double v, double sag) constMbChamferSurfacevirtual
StepV(double u, double v, double sag) constMbChamferSurfacevirtual
SurfaceBorderIntersection(const MbCurve &curve, SArray< double > &tcurv, SArray< MbVector > &dir) constMbSurface
SurfaceIntersectNewton(const MbSurface &surf1, MbeParamDir switchPar, double funcEpsilon, size_t iterLimit, double &u0, double &v0, double &u1, double &v1, bool ext0, bool ext1) constMbSurfacevirtual
SurfacesCombine(const MbSurfaceIntersectionCurve &edge, const MbSurface &init, bool add, MbMatrix &matr, const MbSurfaceIntersectionCurve *seam)MbChamferSurfacevirtual
SurfaceStep(const double &u, const double &v, bool alongU, const MbStepData &stepData) constMbSurface
SurfaceTangentNewton(const MbSurface &surf1, MbeParamDir switchPar, double funcEpsilon, size_t iterLimit, double &u0, double &v0, double &u1, double &v1, bool ext0, bool ext1) constMbSurfacevirtual
TangentU(double &u, double &v, MbVector3D &) constMbSurfacevirtual
TangentV(double &u, double &v, MbVector3D &) constMbSurfacevirtual
TapeBase(RegistrableRec regs=noRegistrable)TapeBase
TapeBase(const TapeBase &)TapeBase
TotalDuplicate() constMbSmoothSurface
Transform(const MbMatrix3D &, MbRegTransform *=c3d_null)MbChamferSurfacevirtual
Type() constMbSmoothSurfacevirtual
uclosedMbSmoothSurfaceprotected
umaxMbSmoothSurfaceprotected
uminMbSmoothSurfaceprotected
Unlock() constMbNestSyncItem
MbSurface::VISITING_CLASS(MbSurface)MbSurface
vmaxMbSmoothSurfaceprotected
vminMbSmoothSurfaceprotected
~MbSpaceItem()MbSpaceItemvirtual
~MbSurface()MbSurfacevirtual
~TapeBase()TapeBasevirtual