This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

67
Editor/Brush/BrushPlane.h Normal file
View File

@@ -0,0 +1,67 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: brushplane.h
// Version: v1.00
// Created: 9/7/2002 by Timur.
// Compilers: Visual Studio.NET
// Description:
// -------------------------------------------------------------------------
// History: Based on Andrey's Indoor editor.
//
////////////////////////////////////////////////////////////////////////////
#ifndef __brushplane_h__
#define __brushplane_h__
#if _MSC_VER > 1000
#pragma once
#endif
struct SBrushPoly;
struct SBrushPlane
{
SBrushPlane()
{
type = 0;
dist = 0;
normal(0,0,0);
}
// Makes the palne given 3 points
void Make( const Vec3d &p1, const Vec3d &p2, const Vec3d &p3)
{
normal = (p1 - p2)^(p3 - p2);
normal.Normalize();
dist = normal.Dot(p2);
}
void CalcTextureAxis(Vec3d& xv, Vec3d& yv, bool bTex);
SBrushPoly *CreatePoly();
int Equal(SBrushPlane *b, int flip);
void Invert(SBrushPlane *p)
{
normal = Vec3d(0,0,0) - p->normal;
dist = -p->dist;
}
_inline bool operator==(const SBrushPlane& p) const
{
if ( p.normal.x==normal.x && p.normal.y==normal.y && p.normal.z==normal.z && p.dist==dist)
return true;
return false;
}
_inline bool operator!=(const SBrushPlane& p) const
{
if ( p.normal.x==normal.x && p.normal.y==normal.y && p.normal.z==normal.z && p.dist==dist)
return false;
return true;
}
Vec3d normal;
float dist;
int type;
};
#endif // __brushplane_h__