本文整理汇总了C++中TDomain类的典型用法代码示例。如果您正苦于以下问题:C++ TDomain类的具体用法?C++ TDomain怎么用?C++ TDomain使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TDomain类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: FaceArea
static number FaceArea(TDomain& dom, int si)
{
typename TDomain::position_accessor_type& aaPos = dom.position_accessor();
UG_ASSERT(TDomain::position_type::Size <= 3, "too many coordinates.");
return FaceArea(*dom.subset_handler(), si, 0, aaPos);
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:7,代码来源:domain_bridge.cpp
示例2: LoadDomainsNacionales
//-----------------------------------------------------------------------------
void TAdministradora :: LoadDomainsNacionales(AnsiString pDomainNacional)
{
TFile* TreeFile = new TFile(pDomainNacional);
TreeFile->Open("rb+");
TreeFile->SeekTo(0);
if(TreeFile->IsOpen())
{
TSDomainInfo SDominio;
TreeFile->Read(&SDominio,sizeof(TSServerInfo));
while(!TreeFile->Eof())
{
TPreOrderNode* node = new TPreOrderNode();
TDomain* domain = new TDomain();
node->End(SDominio.End);
node->RightLink(SDominio.LinkedRight);
domain->NameDomain(SDominio.Name);
node->Info(domain);
aDomainsPreOrderList->Insert(node);
TreeFile->Read(&SDominio,sizeof(TSDomainInfo));
}
}
TreeFile->Close();
delete TreeFile;
}
开发者ID:sharstream,项目名称:MailServer-C,代码行数:27,代码来源:Administradora.cpp
示例3: PrintElementEdgeRatios
static void PrintElementEdgeRatios(TDomain& dom)
{
int elemType = dom.domain_info().element_type();
MultiGrid& mg = *dom.grid();
UG_LOG("Element Edge Ratios:\n");
for(size_t lvl = 0; lvl < mg.num_levels(); ++lvl){
UG_LOG(" level " << lvl << ":\t");
switch(elemType){
case FACE:
PrintElementEdgeRatios(mg, mg.begin<Face>(lvl),
mg.end<Face>(lvl), dom.position_accessor());
break;
case VOLUME:
PrintElementEdgeRatios(mg, mg.begin<Volume>(lvl),
mg.end<Volume>(lvl), dom.position_accessor());
break;
default:
UG_LOG("---\n");
break;
}
}
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:25,代码来源:domain_bridge.cpp
示例4: ProjectVerticesToSphere
static void ProjectVerticesToSphere(TDomain& dom, std::vector<number> center,
number radius, number eps)
{
static const int dim = TDomain::dim;
typename TDomain::position_accessor_type& aaPos = dom.position_accessor();
typename TDomain::grid_type& g = *dom.grid();
if((int)center.size() != dim)
UG_THROW("Expect center to be of dimension "<<dim);
MathVector<dim> Center;
for(int d = 0; d < dim; d++) Center[d] = center[d];
for(VertexIterator iter = g.vertices_begin();
iter != g.vertices_end(); ++iter)
{
MathVector<dim>& pos = aaPos[*iter];
// move only vertices in eps-environment of sphere
if( VecDistance(pos, Center) < radius - eps ||
VecDistance(pos, Center) > radius + eps) continue;
// get closest point on sphere
MathVector<dim> dir;
VecSubtract(dir, pos, Center);
number s, s1Out, s2Out;
if(RaySphereIntersection(s1Out,s2Out, Center, dir, Center, radius) < 1)
UG_THROW("No intersection found for pos "<<pos);
if(s1Out > s2Out) s = s1Out; else s = s2Out;
if(s <= 0) UG_THROW("Invalid scale "<<s);
// set new pos
VecScaleAdd(pos, 1.0, Center, s, dir);
}
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:35,代码来源:domain_bridge.cpp
示例5: CreateDirection
//-----------------------------------------------------------------------------
//::::::::::::::::::::::::::::CREADORES DE CUENTAS:::::::::::::::::::::::::::::::::::::
//-----------------------------------------------------------------------------
AnsiString TAdministradora :: CreateDirection(TBinTreeNode* pServer,AnsiString pUserNameServer)
{
AnsiString email = pUserNameServer;
while(pServer != aTree->Root())
{
TDomain* Domain = (TDomain*)pServer->Info();
email = email + "." + Domain->NameDomain();
pServer=aTree->GetFather(pServer);
}
return email= email + "." + ( (TDomain*)aTree->Root()->Info() )->NameDomain();
}
开发者ID:sharstream,项目名称:MailServer-C,代码行数:14,代码来源:Administradora.cpp
示例6: SavePartitionMap
static bool SavePartitionMap(PartitionMap& pmap, TDomain& domain,
const char* filename)
{
PROFILE_FUNC_GROUP("grid");
if(domain.grid().get() != pmap.get_partition_handler()->grid())
{
UG_LOG("WARNING in SavePartitionMap: The given partition map was not"
" created for the given domain. Aborting...\n");
return false;
}
return SavePartitionMapToFile(pmap, filename, domain.position_attachment());
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:13,代码来源:domain_bridge.cpp
示例7: TranslateDomain
static void TranslateDomain(TDomain& dom, number tx, number ty, number tz)
{
typename TDomain::position_accessor_type& aaPos = dom.position_accessor();
typename TDomain::grid_type& g = *dom.grid();
vector3 t(tx, ty, tz);
const int numCoords = TDomain::position_type::Size;
UG_ASSERT(numCoords <= 3, "too many coordinates.");
for(VertexIterator iter = g.vertices_begin();
iter != g.vertices_end(); ++iter)
{
for(int i = 0; i < numCoords; ++i)
aaPos[*iter][i] += t[i];
}
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:16,代码来源:domain_bridge.cpp
示例8: RandomizeDomain
static void RandomizeDomain(TDomain& dom, number dx, number dy, number dz)
{
typename TDomain::position_accessor_type& aaPos = dom.position_accessor();
typename TDomain::grid_type& g = *dom.grid();
vector3 d(dx, dy, dz);
const int numCoords = TDomain::position_type::Size;
UG_ASSERT(numCoords <= 3, "too many coordinates.");
for(VertexIterator iter = g.vertices_begin();
iter != g.vertices_end(); ++iter)
{
for(int i = 0; i < numCoords; ++i)
aaPos[*iter][i] += urand(-d[i], d[i]);
}
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:16,代码来源:domain_bridge.cpp
示例9: GetMaxEdgeLength
static number GetMaxEdgeLength(TDomain& dom)
{
typename TDomain::position_accessor_type& aaPos = dom.position_accessor();
typename TDomain::grid_type& g = *dom.grid();
number maxLenSq = 0;
for(EdgeIterator eiter = g.template begin<Edge>();
eiter != g.template end<Edge>(); ++eiter)
{
maxLenSq = max(maxLenSq, EdgeLengthSq(*eiter, aaPos));
}
#ifdef UG_PARALLEL
pcl::ProcessCommunicator com;
number gMaxLenSq = com.allreduce(maxLenSq, PCL_RO_MAX);
return sqrt(gMaxLenSq);
#else
return sqrt(maxLenSq);
#endif
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:20,代码来源:domain_bridge.cpp
示例10: LoadAndRefineDomain
static void LoadAndRefineDomain(TDomain& domain, const char* filename,
int numRefs)
{
PROFILE_FUNC_GROUP("grid");
try{
LoadDomain(domain, filename);
}
UG_CATCH_THROW("LoadAndRefineDomain: Could not load domain at file: "<<filename);
GlobalMultiGridRefiner ref(*domain.grid());
for(int i = 0; i < numRefs; ++i)
ref.refine();
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:13,代码来源:domain_bridge.cpp
示例11: SaveDominioTree
//-----------------------------------------------------------------------------
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//::::::::::::::::::: METODOS DE GUARDAR/CARGAR EN FICHEROS:::::::::::::::::::
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//-----------------------------------------------------------------------------
//Nacionales Domains
void TAdministradora :: SaveDominioTree(AnsiString pNameDomain)
{
TFile* TreeFile = new TFile(pNameDomain);
TreeFile->Open("wb");
TreeFile->SeekTo(0);
TSeqPreOrderTree* preorder = new TSeqPreOrderTree(aTree);
if(TreeFile->IsOpen())
{
TSDomainInfo SDominio;
for(int i = 0; i < preorder->Length(); i++)
{
TPreOrderNode* node = (TPreOrderNode*)preorder->ItemInfo(i);
SDominio.End = node->End();
SDominio.LinkedRight = node->RightLink();
TDomain* domain = (TDomain*)node->Info();
strcpy(SDominio.Name,domain->NameDomain().c_str());
TreeFile->Write(&SDominio,sizeof(TSDomainInfo));
}
}
TreeFile->Close();
delete TreeFile;
}
开发者ID:sharstream,项目名称:MailServer-C,代码行数:30,代码来源:Administradora.cpp
示例12: main
int main( int argc, char** argv )
{
std::string inputFilename = examplesPath + "samples/Al.100.vol";
//------------
typedef SpaceND<3> Space4Type;
typedef HyperRectDomain<Space4Type> TDomain;
typedef TDomain::Point Point;
QApplication application(argc,argv);
Viewer3D viewer;
viewer.setWindowTitle("simpleViewer");
viewer.show();
//Default image selector = STLVector
typedef ImageSelector<TDomain, unsigned char>::Type Image;
Image image = VolReader<Image>::importVol( inputFilename );
TDomain domain = image.domain();
Image imageSeeds ( domain);
for ( Image::Iterator it = imageSeeds.begin(), itend = imageSeeds.end();it != itend; ++it)
(*it)=1;
Z3i::Point p0(10,10,10);
//imageSeeds.setValue(p0, 0 );
randomSeeds(imageSeeds, 70, 0);
//Distance transformation computation
typedef ImageSelector<TDomain, long int>::Type ImageLong;
typedef SimpleThresholdForegroundPredicate<Image> Predicate;
Predicate aPredicate(imageSeeds,0);
typedef DistanceTransformation<Space4Type,Predicate, 2> DTL2;
typedef DistanceTransformation<Space4Type,Predicate, 0> DTLInf;
typedef DistanceTransformation<Space4Type,Predicate, 1> DTL1;
DTL2 dtL2(domain, aPredicate);
DTLInf dtLinf(domain, aPredicate);
DTL1 dtL1(domain, aPredicate);
DTL1::OutputImage resultL1 = dtL1.compute ( );
unsigned int min = 0;
unsigned int max = 0;
for(DTL1::OutputImage::ConstIterator it = resultL1.begin(), itend=resultL1.end();
it!=itend;
++it)
{
if( (*it) < min )
min=(*it);
if( (*it) > max )
max=(*it);
}
GradientColorMap<long> gradient( 0,30);
gradient.addColor(Color::Red);
gradient.addColor(Color::Yellow);
gradient.addColor(Color::Green);
gradient.addColor(Color::Cyan);
gradient.addColor(Color::Blue);
gradient.addColor(Color::Magenta);
gradient.addColor(Color::Red);
viewer << SetMode3D( (*(domain.begin())).className(), "Paving" );
for(TDomain::ConstIterator it = domain.begin(), itend=domain.end();
it!=itend;
++it){
unsigned int valDist= resultL1( (*it) );
Color c= gradient(valDist);
if(resultL1(*it)<=30 ){
viewer << CustomColors3D(Color((float)(c.red()),
(float)(c.green()),
(float)(c.blue(),205)),
Color((float)(c.red()),
(float)(c.green()),
(float)(c.blue()),205));
viewer << *it ;
}
}
//viewer << ClippingPlane(1,0,0,-60);
viewer<< Viewer3D::updateDisplay;
return application.exec();
}
开发者ID:SqLL,项目名称:DGtal,代码行数:99,代码来源:distancetransform3D.cpp
示例13: MinimizeMemoryFootprint
static void MinimizeMemoryFootprint(TDomain& dom)
{
dom.grid()->set_options(GRIDOPT_VERTEXCENTRIC_INTERCONNECTION
| GRIDOPT_AUTOGENERATE_SIDES);
}
开发者ID:bsumirak,项目名称:ugcore,代码行数:5,代码来源:domain_bridge.cpp
示例14: testEmptyDomain
bool testEmptyDomain()
{
typedef SpaceND<3> TSpace;
typedef TSpace::Point TPoint;
typedef HyperRectDomain<TSpace> TDomain;
unsigned int nb = 0;
unsigned int nbok = 0;
trace.beginBlock( "Test empty domain." );
const TDomain nonempty_domain( TPoint::diagonal(0), TPoint::diagonal(0) );
++nb; nbok += nonempty_domain.isEmpty() ? 0 : 1;
trace.info() << "(" << nbok << "/" << nb << ") Creating non-empty domain & checking isEmpty." << std::endl;
const TDomain default_domain;
++nb; nbok += default_domain.isEmpty() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Creating default empty domain & checking isEmpty." << std::endl;
const TDomain domain( TPoint::diagonal(1), TPoint::diagonal(0) );
++nb; nbok += domain.isEmpty() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Creating default custom domain & checking isEmpty." << std::endl;
++nb; nbok += domain.size() == 0 ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Empty domain has size = " << domain.size() << std::endl;
++nb; nbok += domain.begin() == domain.end() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that begin() == end()" << std::endl;
++nb; nbok += domain.rbegin() == domain.rend() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that rbegin() == rend()" << std::endl;
TDomain::ConstSubRange range = domain.subRange( 0, 1, 2, domain.lowerBound() );
++nb; nbok += range.begin() == range.end() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that begin() == end() for sub-range {0,1,2}" << std::endl;
++nb; nbok += range.rbegin() == range.rend() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that rbegin() == rend() for sub-range {0,1,2}" << std::endl;
range = domain.subRange( 2, 1, 0, domain.lowerBound() );
++nb; nbok += range.begin() == range.end() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that begin() == end() for sub-range {2,1,0}" << std::endl;
++nb; nbok += range.rbegin() == range.rend() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that rbegin() == rend() for sub-range {2,1,0}" << std::endl;
range = domain.subRange( 0, 2, domain.lowerBound() );
++nb; nbok += range.begin() == range.end() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that begin() == end() for sub-range {0,2}" << std::endl;
++nb; nbok += range.rbegin() == range.rend() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that rbegin() == rend() for sub-range {0,2}" << std::endl;
range = domain.subRange( 2, 0, domain.lowerBound() );
++nb; nbok += range.begin() == range.end() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that begin() == end() for sub-range {2,0}" << std::endl;
++nb; nbok += range.rbegin() == range.rend() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that rbegin() == rend() for sub-range {2,0}" << std::endl;
range = domain.subRange( 1, domain.lowerBound() );
++nb; nbok += range.begin() == range.end() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that begin() == end() for sub-range {1}" << std::endl;
++nb; nbok += range.rbegin() == range.rend() ? 1 : 0;
trace.info() << "(" << nbok << "/" << nb << ") Checking that rbegin() == rend() for sub-rang {1}" << std::endl;
trace.endBlock();
return nb == nbok;
}
开发者ID:Victor-Ostromoukhov,项目名称:DGtal,代码行数:71,代码来源:testHyperRectDomain.cpp
注:本文中的TDomain类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论